街景服務圖塊類似 2D 圖塊 但包含以街道拍攝的全景圖像取代為 街景服務 - 帶你探索世界知名的地標、欣賞自然奇景,還能踏出第一步 博物館、運動場、餐廳或小型商家的內部實景。 此 API 端點可讓您存取:
- Google 地圖街景服務圖塊
- 街景服務中繼資料
- 街景服務縮圖
您可以拼接取自街道的圖像圖塊, 可以解釋模型的運作方式您可以在同一個集合中查詢最多 100 個全景 ID 以及取得與相機相關的更深入中繼資料 位置。
需要檢視者才能將街景服務圖塊拼接在一起。舉例來說, 街景服務 自訂全景檢視器。
取得 API 金鑰後,即可執行 步驟如下
取得工作階段符記。請務必 將
mapType
的值設為streetview
。使用工作階段符記 取得一或多個地理區域的全景識別碼 (panoId) 或位置。
使用 panoId 搜尋回應中的全景 ID 可取得:
街景服務方法
只要呼叫下列任一項目,即可存取街景服務圖像和中繼資料 這四種方法
方法 | 說明 |
---|---|
https://tile.googleapis.com/v1/streetview/tiles |
傳回個別街景服務圖塊。您可以從 6 種縮放等級擷取「街景服務圖塊」:512 像素至 13,312 像素。 |
https://tile.googleapis.com/v1/streetview/panoIds |
可讓您一次搜尋最多 100 個地點。傳回所有包含圖像之地點的全景 ID。 |
https://tile.googleapis.com/v1/streetview/thumbnail |
傳回街景服務場景的 JPEG 縮圖。可讓您提供標題、提案、維度和視野。尺寸下限為 16x16 像素。尺寸上限為 250x600 像素。 |
https://tile.googleapis.com/v1/streetview/metadata |
提供指定全景的詳細資訊。詳細資訊包括相關地址,以及相鄰的全景連結。 |
街景服務 panoId 搜尋
您可以透過下列方式找到一或多個地理位置的全景 ID:
傳遞座標 (lat
、lng
) 至 panoIds
方法。要求
主體是包含 locations
陣列的 JSON 物件,且 (選用)
radius
,如以下 JSON 程式碼範例所示。
curl -X POST -d '{ "locations": [ {"lat": -33.883837, "lng": 151.209307}, {"lat": -33.883700, "lng": 151.210307}, {"lat": 0, "lng": 0} ], "radius": 50 }' \ -H 'Content-Type: application/json' \ "https://tile.googleapis.com/v1/streetview/panoIds?session=YOUR_SESSION_TOKEN &key=YOUR_API_KEY"
locations
locations
陣列必須包含至少一個座標值,但 你可以加入更多,上限為 100 個。radius
radius
值 (以公尺為單位) 定義圓形的半徑 以搜尋全景。預設值 50 公尺。
PanoId 回應
Map Tiles API 會嘗試尋找最接近每個位置的全景,
然後,它就會傳回其全景 ID。如果 panoIds
要求成功,會傳回
包含 panoIds
陣列的 JSON 物件。陣列包含
全景 ID。如果 Map Tiles API
只在您要求的地點找不到任何全景相片,因此即使
字串會在陣列中的該位置傳回。如需範例,請參閱
產生的結果。
{
"panoIds": [
"ACfH-n2HcBvRry_3oc9grw",
"f5DJZatBAAAXHlooS2wKbw",
""
]
}
您可以使用 panoIds
執行以下操作:
街景服務中繼資料
街景服務中繼資料要求擷取全景相關資訊。街道 「查看中繼資料要求」是 HTTPS GET 要求。您可以擷取資訊 您可從以下兩種做法中擇一使用:
如果傳遞
pano_id
,Map Tiles API 就會傳回該要求的中繼資料 全景。但如果您傳遞
lat
和lng
,則 Map Tiles API 會傳回中繼資料 取得在指定搜尋半徑範圍內最近的全景圖像。
傳遞一組座標和半徑
curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY &lat=lat &lng=lng &radius=meters"
由於全景 ID 是暫時性的,建議您傳送一組
座標和 radius
值。
如需範例,請參閱下列程式碼片段。
curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN &key=YOUR_API_KEY &lat=47.62066 &lng=-122.34923 &radius=50"
傳送街景服務圖片的 panoId
curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN &key=YOUR_API_KEY &panoId=panoId"
中繼資料回應
下列 JSON 程式碼是一般中繼資料回應的範例。
{
"panoId": "rZ9KeTyhA11i0VppYNzsSg",
"lat": 37.420864219339165,
"lng": -122.08446528377291,
"imageHeight": 6656,
"imageWidth": 13312,
"tileHeight": 512,
"tileWidth": 512,
"heading": 94.35,
"tilt": 88.39652,
"roll": 1.7181772,
"imageryType": "outdoor",
"date": "2023-01",
"copyright": "© 2023 Google",
"reportProblemLink": "https://cbks0.googleapis.com/cbk?output=report&panoid=rZ9KeTyhA11i0VppYNzsSg&cb_client=api&cbp=1,0,,0,0&hl=en-US&gl=us",
"addressComponents": [
{
"longName": "United States",
"shortName": "United States",
"types": [
"country"
]
},
{
"longName": "Mountain View, California",
"shortName": "Mountain View, California",
"types": [
"locality"
]
},
{
"longName": "Charleston Rd",
"shortName": "Charleston Rd",
"types": [
"route"
]
},
{
"longName": "1635",
"shortName": "1635",
"types": [
"street_number"
]
}
],
"links": [
{
"panoId": "Yw4pqzA4FEq1qs-BwZSvSQ",
"heading": 274.47998046875,
"text": "Charleston Rd"
},
{
"panoId": "1cODYwFRw1aZ45IignDIMw",
"heading": 94.47999572753906,
"text": "Charleston Rd"
}
]
}
下列清單包含回應主體中的欄位定義。
panoId
- 這個全景的專屬 ID。請勿仰賴全景 ID 且有效時間超過單一使用者工作階段。
lat
、lng
- 全景的座標 (經緯度)。這些值可以是 與您在請求中傳遞的座標不同,因為 位置短路到最近的全景。
imageHeight
、imageWidth
- 拼接的全景圖片尺寸。
tileHeight
、tileWidth
- 單一全景圖塊的尺寸。
heading
- 指南針方向,以度為單位,從北順時針測量。標題為 在這個範圍內傳回 [0,360],其中 0 代表以北方為圓心。
tilt
- 全景的傾斜度,以度為單位,從 將全景圖像到地平線上傳回的值在 [0, 180] 範圍內。一個值 90 度表示地平線已對齊的赤道 拍攝出來的成果
roll
- 在套用至圖像的視線周圍,順時針旋轉 拍出水平視角傳回的值在 [0, 360] 範圍內。
imageryType
- 代表圖片類型。有效值為
indoor
和outdoor
。 date
- 圖片的拍攝日期。部分圖片沒有日期資料。但當場 這個欄位包含年 (YYYY) 和月份的組合 (MM)。例如 2023-05 或 2024。
copyright
- 您必須連同街道註明出處的版權文字 查看圖片。
reportProblemLink
- 提供使用者用於回報街景服務問題的超連結 資訊方塊。這個超連結必須顯示在 圖片,其中必須包含「回報問題」之類的連結文字 。」
addressComponent
- 結構化 地理編碼 ,其中包含全景地址的詳細資料。如需更多資訊 看 地理編碼要求與回應 。
links
- 連結至這個項目的全景 ID 清單。也包含 上的標題 以及連結找到的目的地舉例來說,假設標題是 180°,則 連結的全景就位於目前全景南方。請注意,由於 全景 ID 是暫時性的,您不應仰賴這些 超過 99.99%
街景服務縮圖
您可以要求使用 thumbnail
格式的街景服務圖像。縮圖是
非並排圖片,具有使用者定義大小、標題、俯仰角和視野。
縮圖的解析度低於圖塊,因此在檔案中較小
大小您可以傳送 GET 要求到 thumbnail
,藉此提出縮圖要求
端點,如以下程式碼原型所示。
curl "https://tile.googleapis.com/v1/streetview/thumbnail?session=YOUR_SESSION_TOKEN &key=YOUR_API_KEY &panoId=panoId &height=FROM_16_TO_250 &width=FROM_16_TO_600 &pitch=FROM-90_TO_90 &yaw=FROM-360_TO_360 &fov=FROM_30_TO_120"
請參考以下程式碼範例,瞭解如何下載街景服務縮圖 張圖像。
curl "https://tile.googleapis.com/v1/streetview/thumbnail?session=YOUR_SESSION_TOKEN &key=YOUR_API_KEY &panoId=Zzl28rqGJgaL2IdkUleP8A &height=200 &width=200 &pitch=0 &yaw=250 &fov=80" --output /tmp/example_thumbnail.png
必要參數
panoId
- 你要的縮圖專屬 ID。您可以使用
從
panoIds
端點啟動,或從metadata
端點:兩者都接受地理位置 座標,然後傳回適當的panoId
。 session
- 有效的工作階段符記。
key
- 您的 API 金鑰。
選用參數
height
- 指定縮圖的高度 (以像素為單位),範圍介於 16 像素到 250 像素。如果未指定高度,則預設值為 允許的最大值為 250 像素。如果您指定的值超出範圍 然後縮圖貼齊至最接近的有效值。
width
- 指定縮圖寬度 (以像素為單位),範圍介於 16 像素到 600 之間 像素。如果未指定寬度,則會預設為最大值 允許的值設為 600 像素。如果您指定的值超出範圍,則 將縮圖貼齊至最接近的有效值。
pitch
- 指定攝影機沿著垂直軸的角度。有效值位於
範圍
-90
到90
(含)。預設值為 0。 yaw
- 指定攝影機沿著水平軸的方向。有效值
介於
-360
到360
之間 (含)。預設值為 0。 fov
- 指定水平視野 (以度為單位),最大值 值設為 120處理固定大小的可視區域時 所選大小的影像,視野代表變焦;可指定較小的值 提供較高的縮放比例預設值為 90。
街景服務圖片圖塊
取得 panoId
後,您就可以要求街景服務圖片圖塊。磁磚
則是 HTTPS GET 要求請看以下範例。
curl "https://tile.googleapis.com/v1/streetview/tiles/z/x/y?session=YOUR_SESSION_TOKEN &key=YOUR_API_KEY &panoId=panoId"
在此程式碼範例中,z
是縮放等級,
x
和 y
是
圖塊座標
的「街景服務」圖塊。街景服務全景中的縮放等級必須
範圍 [0,5],其中 0 代表最寬的視野。
縮放級別 | 概略視野 |
---|---|
0 | 360° |
1 | 180° |
2 | 90° |
3 | 45° |
4 | 37° |
5 | 11.25° |
街景服務圖塊回應
成功的「街景服務」方塊要求會傳回 格式和大小的圖片
您在 createSession
回應中指定的檔案。
在縮放等級為 0 的情況下,整個全景會調整大小為尺寸圖塊
tileHeight
前送達須付運費 tileWidth
。由於全景圖片的 x 尺寸比較大,
方塊的 y 維度會包含空白空間:
縮放等級為五時,會使用原尺寸全景,並分割成圖塊。
著作權資訊
每張街景服務全景都必須顯示版權資訊。
要顯示的字串可能不同。如要取得版權資訊,
必須索取街景服務中繼資料,且
則參照回應的 copyright
欄位若需更多資訊,請參閲
資料出處: