街景服務圖片中繼資料

簡介

Street View Static API 中繼資料要求提供街景服務全景的相關資料。 透過中繼資料,您可以瞭解特定位置是否有街景服務圖片,以及透過程式輔助方式存取經緯度、全景 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 也可能會隨著時間變更。

以及:

  • keysignature:需要 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>

中繼資料要求的選用參數

您可以在中繼資料要求中加入下列參數:sizeheadingfovpitch。請注意,這些參數不會影響全景相關資料,也不會影響系統找到的全景。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 控制台專案中未啟用 Street View Static API,就可能發生這種情況。
"INVALID_REQUEST" 通常表示缺少查詢參數 (地址或 latlng 或元件)。
"UNKNOWN_ERROR" 表示伺服器發生錯誤,因此無法處理要求。這通常是暫時性狀態。如果您再試一次,可能會成功進行要求。

更多資訊

如要進一步瞭解如何使用 Street View Static API 或其他 Google Maps API 產品,請務必查看 Maps API 支援頁面