簡介
Street View Static API 中繼資料要求提供街景服務全景的相關資料。 您可以利用中繼資料,瞭解某地點的街景服務圖像是否可用,以及透過程式存取經緯度和全景 ID、全景 ID、相片拍攝日期,以及圖片的版權資訊。存取此中繼資料可讓您自訂應用程式中的錯誤行為。
Street View Static API 中繼資料要求完全免費。 要求中繼資料時不會耗用配額。只有在使用 Street View Static API 載入圖片時, 才會耗用配額。
提出街景服務圖像中繼資料要求時,全景圖像的精確度可達 50 公尺。
存取圖像中繼資料
街景服務圖片中繼資料要求是採用以下格式的 HTTP 網址:
https://maps.googleapis.com/maps/api/streetview/metadata?parameters
如同網址的標準,所有參數都會以 & 字元分隔。
中繼資料要求的必要參數
中繼資料要求接受與 Street View Static API 圖像要求相同的網址參數,但只需要下列參數:
請採取下列任一項做法:
location
— 可以是文字字串 (例如Chagrin Falls, OH
) 或以逗號分隔的經緯度座標 (40.457375,-80.009353
)。
或:
pano
:特定的全景 ID。這類圖像通常保持穩定,但隨著圖像更新,ID 可能會隨著時間而改變。
以及:
key
和signature
— 必須使用 API 金鑰來驗證要求。在特定情況下,也需要使用數位簽章。詳情請參閱取得金鑰和簽名一文。
您的中繼資料要求 (僅含必要參數) 看起來會像這樣:
https://maps.googleapis.com/maps/api/streetview/metadata?location=<STRING>&key=YOUR_API_KEY&signature=<YOUR_SIGNATURE>
或像這樣:
https://maps.googleapis.com/maps/api/streetview/metadata?pano=<STRING>&key=YOUR_API_KEY&signature=<YOUR_SIGNATURE>
中繼資料要求的選用參數
您可以在中繼資料要求中加入下列參數:size
、heading
、fov
和 pitch
。請注意,這些參數不會影響全景的相關資料或找到的全景。API 允許加入與圖像要求相同的參數,以利建構與特定圖像要求相關的中繼資料要求,但針對中繼資料要求,API 會忽略選用參數及其值。請參閱 Street View Static API 開發人員指南,瞭解如何使用這些參數。
回應格式
中繼資料回應只會以 JSON 格式傳回。
範例
範例 1:找到全景
下列網址成功要求同一張全景的中繼資料和圖片。
中繼資料要求與回應
https://maps.googleapis.com/maps/api/streetview/metadata?size=600x300&location=eiffel%20tower,%20paris,%20france&heading=-45&pitch=42&fov=110&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
{
"copyright" : "© 2017 Google",
"date" : "2016-05",
"location" : {
"lat" : 48.85783227207914,
"lng" : 2.295226175151347
},
"pano_id" : "tu510ie_z4ptBZYo2BGEJg",
"status" : "OK"
}
圖像要求和回應,其中缺少圖片。
https://maps.googleapis.com/maps/api/streetview?size=600x300&location=eiffel%20tower,%20paris,%20france&heading=-45&pitch=42&fov=110&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
範例 2:找不到全景
下列網址會要求在指定位置附近或附近找不到的全景的中繼資料和圖片。
中繼資料要求與回應
https://maps.googleapis.com/maps/api/streetview/metadata?size=600x300&location=78.648401,14.194336&fov=90&heading=235&pitch=10&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
{
"status" : "ZERO_RESULTS"
}
圖像要求和回應
https://maps.googleapis.com/maps/api/streetview?size=600x300&location=78.648401,14.194336&fov=90&heading=235&pitch=10&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
狀態碼
中繼資料回應物件中的 status
欄位含有要求的狀態,且可能包含偵錯資訊,以協助您排解街景服務要求無效的原因。status
欄位可能包含下列的值:
狀態 | 說明 |
---|---|
"OK" |
表示未發生任何錯誤;找到一個全景,而且傳回中繼資料。 |
"ZERO_RESULTS" |
表示在指定位置附近找不到全景。如果指定的不存在 ID 不存在或無效,就有可能發生這種情況。 |
"NOT_FOUND" |
表示找不到 location 參數中提供的地址字串。如果提供不存在的地址,就可能發生這個問題。 |
"OVER_QUERY_LIMIT" |
指出這個 API 已超過每日配額或每秒配額限制。 |
"REQUEST_DENIED" |
表示您的要求遭到拒絕。要是您並未授權要求,或是在含有 API 金鑰的 Google Cloud Console 專案中未啟用 Street View Static API,就有可能發生這種情況。 |
"INVALID_REQUEST" |
通常表示缺少查詢參數 (地址或 latlng 或元件)。 |
"UNKNOWN_ERROR" |
表示伺服器發生錯誤,無法處理要求。這通常是暫時性狀態。如果您再試一次,可能會成功進行要求。 |
更多資訊
如要進一步瞭解如何使用 Street View Static API 或其他 Google Maps API 產品,請務必查看 Maps API 支援頁面。