街景服務動態磚

街景服務範例街景服務圖塊類似 2D 圖塊 但包含以街道拍攝的全景圖像取代為 街景服務 - 帶你探索世界知名的地標、欣賞自然奇景,還能踏出第一步 博物館、運動場、餐廳或小型商家的內部實景。 此 API 端點可讓您存取:

  • Google 地圖街景服務圖塊
  • 街景服務中繼資料
  • 街景服務縮圖

您可以拼接取自街道的圖像圖塊, 可以解釋模型的運作方式您可以在同一個集合中查詢最多 100 個全景 ID 以及取得與相機相關的更深入中繼資料 位置。

需要檢視者才能將街景服務圖塊拼接在一起。舉例來說, 街景服務 自訂全景檢視器。

取得 API 金鑰後,即可執行 步驟如下

  1. 取得工作階段符記。請務必 將 mapType 的值設為 streetview

  2. 使用工作階段符記 取得一或多個地理區域的全景識別碼 (panoId) 或位置。

  3. 使用 panoId 搜尋回應中的全景 ID 可取得:

    1. 街景服務中繼資料:您也可以規劃街道 只要傳送一組座標和半徑,即可查看中繼資料。

    2. 街景服務縮圖

    3. 街景服務圖塊

街景服務方法

只要呼叫下列任一項目,即可存取街景服務圖像和中繼資料 這四種方法

方法 說明
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 提供指定全景的詳細資訊。詳細資訊包括相關地址,以及相鄰的全景連結。

您可以透過下列方式找到一或多個地理位置的全景 ID: 傳遞座標 (latlng) 至 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 就會傳回該要求的中繼資料 全景。

  • 但如果您傳遞 latlng,則 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 且有效時間超過單一使用者工作階段。
latlng
全景的座標 (經緯度)。這些值可以是 與您在請求中傳遞的座標不同,因為 位置短路到最近的全景。
imageHeightimageWidth
拼接的全景圖片尺寸。
tileHeighttileWidth
單一全景圖塊的尺寸。
heading
指南針方向,以度為單位,從北順時針測量。標題為 在這個範圍內傳回 [0,360],其中 0 代表以北方為圓心。
tilt
全景的傾斜度,以度為單位,從 將全景圖像到地平線上傳回的值在 [0, 180] 範圍內。一個值 90 度表示地平線已對齊的赤道 拍攝出來的成果
roll
在套用至圖像的視線周圍,順時針旋轉 拍出水平視角傳回的值在 [0, 360] 範圍內。
imageryType
代表圖片類型。有效值為 indooroutdoor
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
指定攝影機沿著垂直軸的角度。有效值位於 範圍 -9090 (含)。預設值為 0。
yaw
指定攝影機沿著水平軸的方向。有效值 介於 -360360 之間 (含)。預設值為 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 是縮放等級, xy圖塊座標 的「街景服務」圖塊。街景服務全景中的縮放等級必須 範圍 [0,5],其中 0 代表最寬的視野。

縮放級別 概略視野
0 360°
1 180°
2 90°
3 45°
4 37°
5 11.25°

街景服務圖塊回應

成功的「街景服務」方塊要求會傳回 格式和大小的圖片 您在 createSession 回應中指定的檔案。

資訊方塊要求成功的結果

在縮放等級為 0 的情況下,整個全景會調整大小為尺寸圖塊 tileHeight前送達須付運費 tileWidth。由於全景圖片的 x 尺寸比較大, 方塊的 y 維度會包含空白空間:

縮放等級 0

縮放等級為五時,會使用原尺寸全景,並分割成圖塊。

每張街景服務全景都必須顯示版權資訊。 要顯示的字串可能不同。如要取得版權資訊, 必須索取街景服務中繼資料,且 則參照回應的 copyright 欄位若需更多資訊,請參閲 資料出處