開始使用
- 什麼是 Google 地圖平台?
- 如何開始使用 Google 地圖平台?
- 我需要哪一種 API?
- 如何開始在我的網站上使用 API?
- Google 地圖平台的資料涵蓋哪些國家/地區?
- 如不使用 Google 地圖平台產品,我還能在網站上嵌入 Google 地圖嗎?
- 如何在行動裝置上提供 Google 地圖應用程式?
- Maps JavaScript API 和 Maps Embed API 支援哪些網路瀏覽器?
- 我可以使用 Maps JavaScript API 列印地圖嗎?
- Google 地圖平台產品有任何異動時,我要如何收到通知?
- 我該如何與技術支援人員聯絡?
- 技術支援的服務時間是什麼時候?
- 如何恢復 Google 帳戶的存取權限?
- 如何恢復特定專案的存取權限?
- 我可以在搭載 ARM 的 Mac 上使用 Maps 和 Places SDK for iOS 嗎?
瞭解服務條款
- Google 地圖平台產品的服務條款有什麼內容?
- 我的網站符合《Google 地圖平台服務條款》的規定嗎?
- 我可以直接存取地圖圖塊和衛星圖像嗎?
- 我可以將 Google 地圖平台產品用於追蹤應用程式嗎?
- 我可以在非網頁應用程式中使用 Google 地圖平台產品嗎?
- 我可以在有密碼保護的網站上使用 Google 地圖平台產品嗎?
- 我可以建立文件中內含 Google 地圖平台資料的應用程式嗎?
- 如何讓 Google 搜尋結果停止收錄我的內容?
- 我可以使用 Maps Static API 產生地圖圖片,並在我的網站上儲存與提供該圖片嗎?
用量限制和計費方式
- 如何為專案設定帳單資訊?
- Google Cloud Platform 的免費方案客戶如何升級至付費帳戶?
- Google 地圖平台是否有用量限制?
- 如何計算使用費?
- Google 地圖平台如何計算地圖載入量?
- 我要如何監控配額的使用情形?
- 如果超過用量限制會怎麼樣?
- 我的網站流量很大,可以使用 Google 地圖平台產品嗎?
- 如果我的網站或應用程式突然大受歡迎,我的地圖會停止運作嗎?
- 如何計算用量及計費?
- 使用 Google 地圖平台需要支付多少費用?
- 是否能查看以其他幣別為單位的定價資訊?
- 我已經完成帳單設定,要如何查看帳單?
- 萬一用量突然無預警增加,我要如何避免帳單金額暴增?
- 我收到一則訊息,當中提及我的專案已連結至「Google 地圖平台轉換帳戶」,但我沒有這個帳戶的存取權限,該怎麼做?
- 為什麼我的配額限制設定為每天 1 次要求?要如何提高上限?
- 我收到了帳單違規通知,該如何解決這個問題?
使用 Google 地圖平台
- 我該針對不同的 Google 地圖平台產品使用哪組金鑰或憑證?
- 如何將金鑰限制類型從 HTTP 參照網址變更為 IP 位址限制?
- 如何取得新的 API 金鑰?
- 如何查看每個 Google 地圖平台版本的變更項目?
- 如何在網頁載入之後,以非同步方式將 API 載入該網頁?
- 如何用英文以外的語言顯示 Google 地圖平台產品?
- 可以透過安全資料傳輸層 (SSL) (HTTPS) 存取 Google 地圖平台嗎?
- 如何在 Google 地圖平台中回報錯誤或提出新功能建議?
- Google 地圖平台的 API 如何使用網站 Cookie?
- 我找不到問題的解答,該與誰聯絡?
錯誤和疑難排解
- 這個錯誤代表什麼意義?
- 我的地圖顏色看起來比平常深,為什麼會這樣?
-
如何解決錯誤代碼為
OVER_DAILY_LIMIT
或OVER_QUERY_LIMIT
的問題? -
如何解決錯誤代碼為
kGMSPlacesRateLimitExceeded
或9005 PLACES_API_RATE_LIMIT_EXCEEDED
的問題? - 如何解決「這個 IP、網站或行動應用程式未獲權使用此 API 金鑰」的錯誤?
- 如何解決「具有參照連結限制的 API 金鑰無法搭配此 API 使用」的錯誤?
Google 地圖平台服務
- 我需要將地址轉換成經緯度的格式組合,Google 地圖平台是否支援此功能?
- 哪些國家/地區可以使用地理編碼?
- 為什麼 Google 地圖平台地理編碼器提供的地點與 Google 地圖上的不同?
- 如何設定我的地理編碼器查詢格式,才能盡可能提高要求的成功率?
- 如何設定美國編號公路的地址格式,以便進行地理編碼?
- 何時應該使用 API 地理編碼器類別?何時應該使用 HTTP 地理編碼服務?
- 如何透過 Google 地圖平台提供行車路線?
- 哪些國家/地區可以使用行車路線功能?
- 哪些國家/地區可以使用大眾運輸路線功能?
- Maps JavaScript API 支援哪些 KML 和 GeoRSS 功能?
- 使用 Maps JavaScript API 的 KmlLayer 類別顯示 KML 時,KML 大小和複雜度有什麼限制?
- 如何在地圖上算繪由內部網路網站代管的 KML 檔案?
- Maps Static API 支援的路徑端點或標記數量上限是多少?
- 為何無法在特定國家/地區使用 Google 地圖平台產品?
- 如何回報 Google 基本地圖問題?
- 系統如何監控以 Maps JavaScript API 使用的服務成效?
Maps JavaScript API
Google Maps SDK for iOS
-
如何解決「
kGMSPlacesRateLimitExceeded
」錯誤? - 我在使用 iOS 8.x 裝置進行偵錯時,遇到當機/異常終止狀況,該怎麼做?
- 圓邊角且較寬的螢幕對於 Google Maps iOS SDK 有何影響?
Google Maps SDK for Android
-
如何解決「
9001 Operation failed due to exceeding the quota usage limit
」錯誤? - 我的應用程式只會顯示灰色空白圖塊,不會顯示地圖。該如何解決這個問題?
網址簽署
開始使用
- 什麼是 Google 地圖平台?
-
Google 地圖平台是一組由 API 和 SDK 構成的產品,可讓開發人員將 Google 地圖嵌入行動應用程式和網頁中,或是從 Google 地圖擷取資料。其中提供的產品項目有很多種,您可以根據自己的需求,使用單一 API/SDK 或是 API 和 SDK 組合。
地圖介面集:
- Maps JavaScript API
- Maps SDK for Android
- Maps SDK for iOS
- Map Tiles API
- Aerial View API
- Maps Static API
- Street View Static API
- 地圖網址
- Maps Embed API
- Maps Datasets API
路徑介面集:
地點介面集:
- Places API
- Places SDK for Android
- Places SDK for iOS
- Maps JavaScript API Places Library
- Address Validation API
- Geocoding API
- Geolocation API
- Time Zone API
環境:
- 如何開始使用 Google 地圖平台?
-
請參閱「開始使用 Google 地圖平台」一文。
- 我需要哪一種 API?
-
如想瞭解如何根據自己的功能需求找到適合的 API,請參閱 API 挑選器。
- 如何開始在我的網站上使用 API?
-
請根據您感興趣的 API 或 SDK,參閱相關的「總覽」、「開發人員」及「入門指南」。如需說明範例,請參閱 Maps SDK for Android 或 Maps JavaScript API。
- Google 地圖平台的資料涵蓋哪些國家/地區?
-
Google 地圖團隊持續增加新的地圖資料,將逐漸涵蓋更多國家/地區。如需涵蓋範圍的最新資訊,請參閱 Google 地圖涵蓋範圍資料。網頁頂端顯示的篩選框可以讓您篩選資料。請注意,如果 Google 與資料供應商之間的授權協議有所變動,涵蓋範圍資料也會跟著調整。
另請參閱:
- 如不使用 Google 地圖平台產品,我還能在網站上嵌入 Google 地圖嗎?
-
可以,Google 地圖現在能讓您將目前正在查看的地圖,直接嵌入網站或網誌,不必撰寫任何程式碼或使用 Google 地圖平台。詳情請參閱這裡的說明。
- 如何在行動裝置上提供 Google 地圖應用程式?
-
如要將地圖整合至 Android 應用程式,請使用 Maps SDK for Android。
如要將地圖內嵌至原生的 iOS 應用程式,請使用 Maps SDK iOS。
經過開發人員的調整,Maps JavaScript API 現已支援行動裝置,並適用於瀏覽器應用程式,可在 Apple iPhone 等具備網路瀏覽器 (內建完整 JavaScript 支援) 的裝置和電腦上使用。
如果應用程式支援的裝置無法使用 Maps JavaScript API,Maps Static API 會傳送 GIF、JPG 和 PNG 格式的地圖圖片,包括標記和折線。請注意,如果要在瀏覽器應用程式外使用 Maps Static API,您必須將地圖圖片連結至 Google 地圖。
- Maps JavaScript API 和 Maps Embed API 支援哪些網路瀏覽器?
-
Maps JavaScript API 和 Maps Embed API 支援下列網路瀏覽器:
電腦- 最新版本的 Microsoft Edge (Windows),不包括 IE 模式。
- Firefox 兩個最新的主要穩定版 (Windows、macOS 和 Linux)。
- Chrome 兩個最新的主要穩定版 (Windows、macOS 和 Linux)。
- Safari 兩個最新的主要穩定版 (macOS)。
- 最新版本的 Chrome (Android 4.1+ 版)。
- Chrome WebView (Android 4.4+ 版)。
- iOS 主要版本中最新版及前一版的行動版 Safari。
- iOS 主要版本中最新版及前一版的 UIWebView 和 WKWebView。
- 最新版的 Chrome (iOS 版)。
- 我可以使用 Maps JavaScript API 列印地圖嗎?
-
我們不支援透過 Maps JavaScript API 列印,這是因為常用瀏覽器中支援的列印功能各有不同。
- Google 地圖平台產品有任何異動時,我要如何收到通知?
-
建議您訂閱 Google 地圖平台網誌,掌握 Google 地理開發人員各項功能項目的最新進展與消息。
- 我要如何與技術支援人員聯絡?
-
如要瞭解可用的支援選項,請參閱 Google 地圖平台支援和資源。
- 技術支援的服務時間是什麼時候?
- 支援團隊的服務範圍是「地圖平台服務無法使用」的情況;服務時間為平日 24 小時全天候無休 (東京時間週一上午 9 點至太平洋時間週五下午 5 點),地區性假日不提供服務。
- 如何恢復 Google 帳戶的存取權限?
-
如果您已經無法存取自己的 Google 帳戶 (例如 joe@mycompany.com 或 joe@gmail.com),可擷取或重設密碼,嘗試取回帳戶。請造訪 Google 帳戶說明中心,參閱「如何復原您的 Google 帳戶或 Gmail」一文。
- 注意:如要復原 G Suite 帳戶的存取權,請向您的機構管理員提出取消刪除帳戶的要求。
- 如何恢復特定專案的存取權限?
-
如果您已經無法存取用來管理 Google 地圖平台服務的專案,可以嘗試復原該專案。
如果您可以存取與專案相關聯的 Google 帳戶:
- 如果您知道專案擁有者,且擁有 Google 帳戶存取權:請要求專案擁有者將您新增為專案擁有者或專案編輯者。
- 如果您的專案隸屬於某個機構:請與機構管理員聯絡,並要求對方將您新增為專案擁有者。
- 如果您不知道任何目前的專案擁有者:如果您不知道專案擁有者是誰或無法聯絡專案擁有者,請洽詢支援團隊,瞭解其他復原專案的方式。
如果您無法存取與專案相關聯的 Google 帳戶:
- 如果您已經無法存取自己的 Google 帳戶:請嘗試復原帳戶的使用者名稱或密碼。
- 如果您無法取回 Google 帳戶:請建立新的 Google 帳戶,然後與目前的專案擁有者聯絡,要求對方將您的新 Google 帳戶加入專案。
- 如果您知道專案擁有者,且擁有 Google 帳戶存取權:請要求專案擁有者將您新增為專案擁有者或專案編輯者。
- 我可以在搭載 ARM 的 Mac 上使用 Maps SDK for iOS 和 Places SDK for iOS 嗎?
-
您可以在搭載新 ARM 的 Mac 上進行開發工作,不過必須在實體 iOS 裝置中建構和執行。這項限制只是暫時的,我們正持續擴大支援,讓開發人員可以透過模擬工具進行開發。
瞭解服務條款
- Google 地圖平台產品的服務條款有什麼內容?
-
《Google 地圖平台服務條款》已列載於以下網址:
- 我的網站符合《Google 地圖平台服務條款》的規定嗎?
-
只要您的網站符合《Google 地圖平台服務條款》的規定,就可以在應用程式內使用 Google 地圖平台。
不過,我們並不樂見 Google 地圖平台遭到不當使用,例如用來標示城市內可購買禁藥的地方,或從事任何非法活動。此外,我們也尊重個人隱私,請勿使用 Google 地圖平台來洩露個人隱私資訊。
建議您先向律師諮詢,確認應用程式符合《Google 地圖平台服務條款》的規定,再開發及推出應用程式。Google 工程師只能提供技術協助,無法提供任何法律諮詢。Google 保留相關權利,得以隨時暫停或終止您對本服務的使用權限,請務必詳閱《Maps API 條款》。
- 我可以直接存取地圖圖塊和衛星圖像嗎?
-
除了使用 Google 地圖平台,您無法透過任何其他機制 (例如建立自己的地圖 API 或使用大量圖塊下載指令碼) 存取地圖圖塊或衛星圖像。如果您的應用程式是透過 Google 地圖平台以外的途徑存取圖塊,該應用程式的存取權限將會遭到封鎖。詳情請參閱《Google 地圖平台服務條款》。
- 我可以將 Google 地圖平台產品用於追蹤應用程式嗎?
-
只要應用程式符合《Google 地圖平台服務條款》的規定,透過 Google 地圖平台產品顯示即時資料的功能 (即追蹤),就不會受到任何限制。
- 我可以在非網頁應用程式中使用 Google 地圖嗎?
-
可以,Google 地圖平台產品現在可以在非網頁應用程式中使用,但必須遵循《Google 地圖平台服務條款》的其他適用限制。
Maps JavaScript API 只能在這些支援的瀏覽器中執行。
- 我可以在有密碼保護的網站上使用 Google 地圖平台產品嗎?
-
沒問題,您可以在私人存取的應用程式中使用 Google 地圖介面集、路徑介面集、地點介面集和環境服務。詳情請參閱《Google 地圖平台服務條款》。
- 我可以建立文件中內含 Google 地圖平台資料的應用程式嗎?
-
假如您的應用程式會產生任何電子或紙本形式的文件 (包括圖片),則文件內不得包含任何來自 Google 地圖平台的資料。 詳情請參閱《Google 地圖平台服務條款》的「禁止抓取」(No Scraping) 一節。
- 如何讓 Google 搜尋結果停止收錄我的內容?
-
我們已停止收集這項資料。
indexing
參數已淘汰不用,因此不會產生任何作用。雖然您並不需要另行選擇停用,但我們建議您盡早移除該參數。如要從搜尋結果中移除您的網頁或網站,請遵循網站管理員說明中心提供的操作指示。
- 我可以使用 Maps Static API 產生地圖圖片,並在我的網站上儲存與提供該圖片嗎?
-
您無法在自家網站上儲存及提供透過 Maps Static API 產生的圖片。所有要求靜態圖片的網頁都必須將 HTML
img
標記的src
屬性或 HTMLdiv
標記的 CSSbackground-image
屬性直接連結至 Maps Static API,讓所有地圖圖片顯示在網頁的 HTML 內容中,再由 Google 直接向使用者提供圖像。
用量限制和計費方式
- 如何為專案設定帳單資訊?
- 請參閱「開始使用 Google 地圖平台」一文。
- Google Cloud Platform 的免費方案客戶如何升級至付費帳戶?
- Google Cloud Platform 免費方案 計畫提供 $300 美元的抵免額,讓客戶免付費試用任何 Google Cloud 服務,包括 Google 地圖平台 (GMP) API。免費試用期結束後,您必須符合下列條件: 升級為付費帳戶 才能繼續使用這些服務如要升級為付費帳戶,請前往 Cloud 控制台。
- Google 地圖平台是否有用量限制?
-
我們並未設定每日可發出的要求數量上限 這些 Google 地圖平台產品,且唯一的用量限制與 每分鐘查詢數量上限 (QPM)。
以 Distance Matrix 來說,是根據每分鐘事件數 (EPM) 設定限制,計算方式為 用戶端和伺服器端查詢。
以 Routes:Compute Route Matrix 來說,是根據每分鐘元素 (EPM) 設定限制,其中 要求中的元素等於:(起點數乘以目的地數)。
下表列出各項 API 的用量限制。
API 用量限制 Address Validation 每分鐘 6,000 次查詢 Aerial View: Lookup Video 每分鐘 180 次查詢,每天 100,000 次查詢 Aerial View: Render Video 每分鐘 100 次查詢,每天 100 次查詢 空氣品質 每分鐘 6,000 次查詢 Directions 每分鐘 3,000 次查詢 Distance Matrix 每分鐘 60,000 個元素 Dynamic Maps 每分鐘 30,000 次查詢 Elevation 每分鐘 6,000 次查詢 Geocoding 每分鐘 3,000 次查詢 Geolocation 每分鐘 6,000 次查詢 Map Tiles API:2D 圖塊和街景服務圖塊 每分鐘 6,000 次查詢,每天 15,000 次查詢 Map Tiles API:擬真成像 3D 圖塊 每日 10,000 次查詢 Map Tiles API:擬真成像 3D 圖塊:轉譯器 每分鐘 12,000 次查詢 Places 每分鐘 6,000 次查詢 Pollen 每分鐘 6,000 次查詢 Roads 每分鐘 30,000 次查詢 Route:Compute Routes 每分鐘 3,000 次查詢 Routes:Compute Route Matrix 每分鐘 3,000 個元素 Solar 每分鐘 600 次查詢 Static Maps 每分鐘 30,000 次查詢 Street View Image API 每分鐘 30,000 次查詢 Time Zone 每分鐘 30,000 次查詢 如要控管支出,您可以監控 API 用量,並針對任何可計費 API 的所有要求設定每日上限。
部署 Google 地圖平台產品時,請務必遵循標準版《Google 地圖平台服務條款》。
- 如何計算使用費?
-
如需 Google 地圖平台產品定價總覽,請參閱價目表。
如要進一步瞭解 Google 地圖平台 API 的計費方式,請參閱「瞭解地圖介面集、路徑介面集、地點介面集和環境的計費方式」一文。
- Google 地圖平台如何計算地圖載入量?
-
發生下列任一情況即計為一次地圖載入:
- 使用 Maps JavaScript API 顯示地圖的網頁或應用程式。
- 應用程式向 Maps Static API 要求單一地圖圖片。
街景服務全景和地圖載入量現已分開計費。
- 每次向 Street View Static API 要求嵌入靜態 (非互動式) 街景服務全景,系統會計為一次靜態街景服務全景。
- 每次針對 Maps JavaScript API、Maps SDK for Android、Maps SDK for iOS 應用程式中的全景物件執行個體化,即計為一次動態街景服務全景。
網頁或應用程式載入地圖、靜態地圖圖片或街景服務全景後,使用者與這些元素之間的任何互動 (例如平移、縮放或切換地圖圖層),都不會產生額外的地圖載入量或影響用量限制。
新增標記不會造成地圖載入量增加,但確認圖釘位置的方式 (例如載入或重新載入「google.maps.Map()」類別) 可能會產生相關費用。
- 如何監控用量?
-
您可以在 Google Cloud 控制台中監控個別 API 的用量。
- 選取您要查看的 API 所屬的專案。
- 在資訊主頁的 API 清單中,按一下 API 名稱。
- 在頁面頂端附近,按一下「指標」或「配額」。
如要查看整個專案的流量報表和帳單資訊,請按照以下步驟操作:
詳情請參閱「Google 地圖平台報表」、「監控 API 用量」和「限制 API 用量」。
- 如果超過要求比率 (QPM) 限制,會怎麼樣?
-
如果您超過指定 QPM 限制 Google 地圖平台產品,API 會傳回錯誤訊息。要是屢次超過上限,系統可能會暫時封鎖您的 API 存取權限。
如果您超出 QPM 限制或 否則要求會傳回特定的錯誤訊息。假如繼續超過限制,系統可能會封鎖您的 Google 地圖平台存取權限。
注意事項:Maps JavaScript API 中的下列這四個 Web 服務 API 會提供同等的用戶端服務:Directions、Distance Matrix、Elevation 和 Geocoding。
超過用量限制
如果超過用量限制,就會發生
OVER_QUERY_LIMIT
做為回應這個訊息表示 Web 服務已停止提供正常回應,並已改為只傳回狀態碼
OVER_QUERY_LIMIT
,直到再次可用為止。如果該錯誤是在幾秒內引起, 是因為應用程式每分鐘傳送的要求數量過多。如果您經常超過 QPM 用量限制,請考慮降低用量 最佳化應用程式,進一步使用 Google 地圖平台產品 也可以要求提高配額詳情請參閱最佳化指南。
- 我的網站流量很大,可以使用 Google 地圖平台產品嗎?
-
可以,但我們建議您詳閱適用的 Google 地圖平台產品用量限制,瞭解應用程式使用這些產品的相關規定。
- 如果我的網站或應用程式突然大受歡迎,我的地圖會停止運作嗎?
-
建立帳單帳戶後,如果您超過每月 $200 美元的免付費用量限制,且未在帳單帳戶中提供有效的付款方式 (例如信用卡、銀行轉帳設定等等),API 就會停止運作,直到您新增有效的付款方式。
- 如何計算用量及收費?
-
我們會在每天結束時,按照價目表的價格計算用量,並於每月月底以您帳單帳戶連結的付款方式,向您收取總用量費用。詳情請參閱「Google 地圖平台計費方式」一文。
- 使用 Google 地圖平台需要支付多少費用?
-
如需各項 API 費用總覽,請參閱價目表。只要應用程式產生的要求或地圖載入量,不超過每月 $200 美元可折抵的用量上限,則不必支付任何費用;但要是用量超過每月 $200 美元的抵免額,我們就會向您的帳單帳戶收費。詳情請參閱 Google 地圖平台計費方式指南。
- 是否能查看以其他幣別為單位的定價資訊?
- 我已經完成帳單設定,要如何查看帳單?
-
Google 會在每月月初根據您指定的付款方式,向您收取上個月的活動費用。如需帳單詳細資料,請參閱 Google 地圖平台計費方式指南。
其他資源:
- 瞭解如何查看費用和付款記錄。
- 瞭解如何取得月結單或付款收據。
- 瞭解如何設定及管理帳單快訊。
- 萬一用量突然無預警增加,我要如何避免帳單金額暴增?
-
Google 地圖平台設有一些功能讓您指定每日要求上限和每日計費上限。比如說,您可以設定每日用量上限,以防費用突然無預警增加;也可設定預算快訊,一旦帳單帳戶費用達到指定門檻,就會收到電子郵件通知。
設定每日計費上限:
為避免帳單費用暴增,不妨設定每日用量上限,以防用量無預警增加。您可以在 Cloud 控制台中變更這項限制,步驟如下:
- 前往「API 和服務」資訊主頁。
- 畫面出現提示時,請選取專案。
- 從清單中選取 API,然後按一下「配額」分頁標籤。
- 按一下「每日要求配額」旁的「編輯」圖示。
或者,您可以透過「IAM 與管理員」的「配額」資訊主頁,編輯多個 API 的多個配額。
設定及管理預算快訊:
只要設定預算快訊,系統就會在帳單帳戶費用達到指定門檻時,寄送電子郵件通知給帳單管理員。當帳單帳戶的預估費用超過指定門檻的 50%、90% 和 100%,帳單管理員都會收到電子郵件通知。
- 我收到一則訊息,當中提及我的專案已連結至「Google 地圖平台轉換帳戶」,但我沒有這個帳戶的存取權限,該怎麼做?
-
我們之所以建立「Google 地圖平台轉換帳戶」,是為了協助某些客戶轉換至新的即付即用定價方案。Google 會透過這個轉換帳戶,為客戶提供免付費方案的 $200 美元一次性抵免額,獲得抵免額的客戶可繼續使用 Google 地圖平台,直到用完該額度。一旦超過額度上限,帳單帳戶就會關閉,而您將無法再使用 Google 地圖平台服務。為避免服務中斷,我們極力建議您設定自己專用的帳單帳戶,繼續享有免付費方案每月 $200 美元的抵免額。如要變更專案的帳單帳戶,請按照下列指示操作:
- 建立新的帳單帳戶 (如果您已有帳單帳戶,可以跳過這個步驟)。
- 將帳單帳戶連結至自有專案。
- 為什麼我的配額限制設定為每天 1 次要求?要如何提高上限?
-
如果您尚未建立帳單帳戶並連結至專案,則 Google 地圖平台 API 每天只能傳送 1 次要求。只要建立並連結帳單帳戶,就能獲得更多配額。相關操作說明請參閱「開始使用 Google 地圖平台」一文。
一旦建立並連結帳單帳戶,系統就會幫您移除每日配額限制。您可以在 Cloud 控制台中設定限制,避免非預期的支出。
- 我收到了帳單違規通知,該如何解決這個問題?
-
Google 判定您的帳戶設定了多個帳單帳戶,因此我們寄送這則通知給您。這違反了《Google 地圖平台服務條款》第 3.2.4 節中定義的 Google 條款規定。該等條款禁止使用者建立多個帳單帳戶。 詳情請參閱帳單帳戶違規常見問題。
使用 Google 地圖平台
- 我該針對不同的地圖產品使用哪組金鑰或憑證?
-
每次使用 Google 地圖平台產品,都要提供 API 金鑰驗證要求。Google 地圖平台支援 Android、iOS 或網頁應用程式,也可透過 HTTP Web 服務使用。
API 金鑰:
- API 金鑰是您使用 Cloud 控制台產生的一組專屬 ID。
- 使用金鑰載入 API 的範例:
&key=AIzaSyBjsINSH5x39Ks6c0_CoS1yr1Mb3cB3cVo
數位簽章:
- 數位簽章須使用 Google 提供給您的網址簽署密鑰來產生,可與 Maps Static API 及 Street View Static API 搭配使用。
限制:
- 雖然 API 金鑰限制為選用功能,但我們極力建議您限制所有 API 金鑰,進一步提升安全性。詳情請參閱 API 安全性最佳做法。
- 您可以對 API 金鑰新增應用程式限制。
一旦設下限制,該金鑰就只能在支援該類限制的平台上使用。
共有四種應用程式限制可以設定。強制執行相同限制類型的 API 可以使用同一組受限制的金鑰。
- IP 位址 (個別伺服器):適用於Web 服務 API。
- HTTP 參照網址 (網站):與網站 API 搭配使用。
- Android 應用程式限制 (依套件名稱和指紋區分):適用於 Maps SDK for Android。
- iOS 應用程式限制 (依 iOS 軟體包 ID 區分):適用於 Maps SDK for iOS。
- 您也可以對 API 金鑰新增 API 限制。詳情請參閱「取得、新增及限制 API 金鑰」一文。
下表列出每個 Google 地圖平台 API/SDK 的金鑰/憑證和應用程式限制。
API/SDK 憑證和應用程式限制 Maps SDK for Android 具有 Android 限制的 API 金鑰1 Places SDK for Android 具有 Android 限制的 API 金鑰1 Maps SDK for iOS 具有 iOS 限制的 API 金鑰1 Places SDK for iOS 具有 iOS 限制的 API 金鑰1 Maps JavaScript API 具有 HTTP 參照網址限制的 API 金鑰1 Map Tiles API 具有 IP 位址限制的 API 金鑰1 Maps Datasets API OAuth 權杖 Aerial View API 具有 IP 位址限制的 API 金鑰1 Maps Static API 具有 HTTP 參照網址限制的 API 金鑰1 + 數位簽章2 Street View Static API 具有 HTTP 參照網址限制的 API 金鑰1 + 數位簽章2 Maps Embed API 具有 HTTP 參照網址限制的 API 金鑰1 Address Validation API 具有 IP 位址限制的 API 金鑰1 Directions API 具有 IP 位址限制的 API 金鑰1 Distance Matrix API 具有 IP 位址限制的 API 金鑰1 Elevation API 具有 IP 位址限制的 API 金鑰1 Geocoding API 具有 IP 位址限制的 API 金鑰1 Geolocation API 具有 IP 位址限制的 API 金鑰1 Places API 具有 IP 位址限制的 API 金鑰1 Roads API 具有 IP 位址限制的 API 金鑰1 Routes API 具有 IP 位址限制的 API 金鑰1 Time Zone API 具有 IP 位址限制的 API 金鑰1 Air Quality API 具有 IP 位址限制的 API 金鑰1 Pollen API 具有 IP 位址限制的 API 金鑰1 Solar API 具有 IP 位址限制的 API 金鑰1 1 雖然 API 金鑰限制為選用功能,但我們極力建議您限制所有 API 金鑰,進一步提升安全性。2 視使用情況而定,Maps Static API 和 Street View Static API 可能會要求您提供數位簽章;但不管是什麼用途,我們極力建議您一起使用 API 金鑰和數位簽章來驗證要求。 - 如何將金鑰限制類型從 HTTP 參照網址變更為 IP 位址限制?
-
重要事項:如果您使用的 Web 服務 API 內含設有參照連結限制的 API 金鑰,則要求將會失敗並傳回下列錯誤訊息:「使用此 API 時,API 金鑰不能含有參照連結限制」。請改用設有 IP 位址限制的 API 金鑰。
在將 API 金鑰的限制類型從 HTTP 參照網址改為 IP 位址之前,請確保所有使用該 API 金鑰的 API 都支援 IP 限制類型。同一個限制類型的 API 可使用同一組受限制的金鑰。如要強制執行多項限制,請另外新增一組金鑰並設定您需要的限制。瞭解如何新增 API 金鑰。
進一步瞭解與 Google 地圖平台產品相關的 API 金鑰限制。
如要將設有 HTTP 參照網址限制的 API 金鑰改為 IP 位址限制,請按照下列指示操作:
- 前往 Cloud 控制台的「憑證」頁面。
- 選取您要編輯的 API 金鑰所屬的專案。
- 在「憑證」頁面的 API 金鑰清單中,選取 API 金鑰名稱,然後編輯該金鑰的詳細資料。
- 在頁面的「金鑰限制」部分,選取「IP 位址 (網路伺服器和 Cron 工作等)」,並插入適當的伺服器 IP 位址,然後按一下「儲存」。
- 如何取得新的 API 金鑰?
- 請參閱「開始使用 Google 地圖平台」一文。
- 如何查看每個 Google 地圖平台版本的變更項目?
-
下列連結有許多 Maps API 的版本變更資訊:
- Maps JavaScript API
- Routes API
- Directions API
- Distance Matrix API
- Maps SDK for Android
- Places SDK for Android
- Maps SDK for iOS
- Places SDK for iOS
- Address Validation API
- Aerial View API
- Air Quality API
- Pollen API
- Solar API
- Map Tiles API
- Maps Datasets API
您也可以使用下列網址的 Google 地圖平台 Issue Tracker 工具,查看各 Google 地圖平台版本的錯誤,以及這些錯誤在哪些版本中已修正:
- 如何在網頁載入之後,以非同步方式將 API 載入該網頁?
-
只要在載入 API 時指定回呼參數即可。如需相關詳情或程式碼範例,請參閱 Maps JavaScript API 說明文件中的「開始使用」章節。
- 如何用英文以外的語言顯示 Google 地圖平台產品?
-
根據預設,API 會根據使用者所在位置或瀏覽器設定,載入最合適的語言。有些 API 可讓您在提出要求時明確指定語言。如要進一步瞭解語言的設定方式,請參閱各 API 的說明文件:
- Maps JavaScript API
- Geocoding API
- Routes API
- Directions API
- Distance Matrix API
- Places API
- Maps Static API
Google 會經常更新支援的語言,因此這份清單可能不夠詳盡,且會隨時變更。
語言代碼 語言 語言代碼 語言 af 南非荷蘭文 ja 日文 sq 阿爾巴尼亞文 kn 卡納達文 am 阿姆哈拉文 kk 哈薩克文 ar 阿拉伯文 km 高棉文 hy 亞美尼亞文 ko 韓文 az 亞塞拜然文 ky 吉爾吉斯文 eu 巴斯克文 lo 寮文 be 白俄羅斯文 lv 拉脫維亞文 bn 孟加拉文 lt 立陶宛文 bs 波士尼亞文 mk 馬其頓文 bg 保加利亞文 ms 馬來文 my 緬甸文 ml 馬拉雅拉姆文 ca 加泰隆尼亞文 mr 馬拉提文 zh 中文 mn 蒙古文 zh-CN 中文 (簡體) ne 尼泊爾文 zh-HK 中文 (香港) no 挪威文 zh-TW 中文 (繁體) pl 波蘭文 hr 克羅埃西亞文 pt 葡萄牙文 cs 捷克文 pt-BR 葡萄牙文 (巴西) da 丹麥文 pt-PT 葡萄牙文 (葡萄牙) nl 荷蘭文 pa 旁遮普文 en 英文 ro 羅馬尼亞文 en-AU 英文 (澳洲) ru 俄文 en-GB 英文 (英國) sr 塞爾維亞文 et 愛沙尼亞文 si 錫蘭文 fa 波斯文 sk 斯洛伐克文 fi 芬蘭文 sl 斯洛維尼亞文 fil 菲律賓文 es 西班牙文 fr 法文 es-419 西班牙文 (拉丁美洲) fr-CA 法文 (加拿大) sw 史瓦西里文 gl 加里斯亞文 sv 瑞典文 ka 喬治亞文 ta 泰米爾文 de 德文 te 泰盧固文 el 希臘文 th 泰文 gu 古吉拉特文 tr 土耳其文 iw 希伯來文 uk 烏克蘭文 hi 北印度文 ur 烏都文 hu 匈牙利文 uz 烏玆別克文 is 冰島文 vi 越南文 id 印尼文 zu 祖魯文 it 義大利文 您可以透過這個範例應用程式,看看使用以上語言呈現出來的地圖介面是什麼樣子。
- 可以透過安全資料傳輸層 (SSL) (HTTPS) 存取 Google 地圖平台嗎?
-
Maps JavaScript API、Maps Static API 和 Web Service API 都可以透過安全的 (HTTPS) 連線存取。如要瞭解如何透過安全資料傳輸層 (SSL) 存取 API,請參閱相關 API 的說明文件。
請注意,Maps Static API 不支援使用 HTTPS 的自訂圖示網址,因此將顯示預設圖示。
- 如何在 Google 地圖平台中回報錯誤或提出新功能建議?
-
如果您認為遇到的問題可能是平台設計錯誤所造成,請先至相關論壇提問,讓其他開發人員進行驗證,確認問題與您的程式碼無關。
有任何新功能建議,也請先在相關論壇中提出,確定目前還沒有符合您需求的解決方案。
如果您認為自己確實發現新的錯誤,或覺得 Google 地圖平台產品的現有功能無法滿足您的需求,則請使用 Google 地圖平台 Issue Tracker 工具。
將錯誤或新功能要求登錄到 Issue Tracker 之前,務必先確認目前還沒有任何人提過同樣的問題/要求。如果已經有人提出,您可以對該項目加上星號,告訴我們您對此有興趣,屆時就能收到最新消息通知。
-
Maps SDK for Android 和 Maps SDK for iOS 使用 Cookie 時會遵循 Google 的隱私權政策規定,包括使用 Cookie 計算每日和過去 7 天的活躍使用者人數,以及防止服務濫用行為。這些 Cookie 不會與任何已登入的 Google 帳戶產生關聯。在記錄透過 API 呼叫收集到的其他資訊時,也不會一併記錄這類 Cookie。
- 我找不到問題的解答,該與誰聯絡?
-
Google 的開發人員關係維繫團隊成員常會在 Stack Overflow 上與大家交流。Stack Overflow 是一個由程式設計人員合作編輯,專供同業提問和尋找解答的網站。如果您有 Google 地圖應用程式開發及維護方面的技術問題,建議可到這個網站詢問。如要進一步瞭解如何在 Stack Overflow 上發問,請參閱「支援」頁面。
為確保過程順利進行,請求協助時,不妨運用以下幾個小秘訣:
- 先搜尋目前的討論內容,其他人可能已遇過類似問題,並且已有解決方式。
- 如果可以,請附上您的網站連結。如果程式碼不容易在線上檢視,也可只張貼程式碼片段。
- 提供所有相關資訊,包括瀏覽器版本、錯誤,以及其他有助排解問題的相關事證。
錯誤和疑難排解
- 這個錯誤代表什麼意義?
-
如果載入或執行 Google Maps API 時發生錯誤,請參考下列連結的錯誤代碼說明:
- 我的地圖顏色看起來比平常深,為什麼會這樣?
-
在某些情況下,地圖顏色可能會變得比較深 (有點像「負片」效果的街景服務圖片),而且會有「僅供開發使用」浮水印。這通常代表有 API 金鑰或帳單方面的問題。如要使用 Google 地圖平台產品,您必須具備帳單帳戶,且所有要求一律應隨附有效的 API 金鑰。下列流程可協助您排解這個問題:
- 如何解決錯誤代碼為
OVER_DAILY_LIMIT
或OVER_QUERY_LIMIT
的問題? -
系統傳回這些錯誤代碼的原因可能如下:
- 要求中缺少 API 金鑰。
- 提供的 API 金鑰無效。
- 專案未連結至帳單帳戶。
- 超過自行設定的用量上限。
- 您提供的付款方式已失效 (例如信用卡已過期)。
- 您已超過特定 API 的配額限制。
如要使用 Google 地圖平台產品,您必須具備帳單帳戶,且所有要求一律應隨附有效的 API 金鑰。如要解決這個問題,請按照下列步驟操作:
- 設定帳單帳戶。
- 取得新的 API 金鑰。
- 如果可行,建議調整用量上限,就能提高每日限制。
- 如何解決錯誤代碼為
kGMSPlacesRateLimitExceeded
或9005 PLACES_API_RATE_LIMIT_EXCEEDED
的問題? -
如果看到
kGMSPlacesRateLimitExceeded
或9005 PLACES_API_RATE_LIMIT_EXCEEDED
,代表您使用的可能是已經淘汰的 Places SDK for Android 或 Places SDK for iOS 版本。 請前往 https://goo.gle/places-sdk-deprecation 瞭解詳情,並取得新版 SDK。 - 如何解決「這個 IP、網站或行動應用程式未獲權使用此 API 金鑰」的錯誤?
-
有很多情況都可能會造成這個錯誤:
- 您對 API 金鑰啟用了 IP 位址 (伺服器) 限制,但有未經授權的 IP 位址嘗試提出要求。
- 您對 API 金鑰啟用了 HTTP 參照網址 (網站) 限制,但有未經授權的參照網址嘗試提出要求。
- 您設定了套件名稱及指紋,限制 Android 應用程式的使用情況,但有未經授權的 Android 應用程式嘗試提出要求。
- 您指定了軟體包 ID,限制來自 iOS 應用程式的要求,但有未經授權的 iOS 應用程式嘗試提出要求。
- 當您使用任一 Web 服務 API,而其中的 API 金鑰含有 HTTP 參照網址限制,就有可能導致這項錯誤。傳送至這些 API 的要求應視為具有 IP 位址限制的 API 金鑰。因此,請將金鑰限制類型從 HTTP 參照網址限制變更為 IP 位址限制。如要進一步瞭解如何限制 API 金鑰,請參閱 API 金鑰最佳做法。
查看及編輯 API 金鑰憑證
如要查看 API 金鑰及管理限制,請按照下列步驟操作:
- 前往 Cloud 控制台的「憑證」頁面。
- 選取您要查看的 API 金鑰所屬的專案。
- 如要查看憑證詳細資料 (包括對金鑰設定的任何限制),請在 API 金鑰清單中按一下金鑰名稱。
- 頁面會針對您選取的 API 金鑰列出完整憑證 (包括您設定的任何金鑰限制)。您可以在這裡視需要變更、刪除或更新限制。
- 如何解決「具有參照連結限制的 API 金鑰無法搭配此 API 使用」的錯誤?
-
您目前正在使用任一 Web 服務 API,而其中的 API 金鑰含有 HTTP 參照網址限制。基於安全考量,Web 服務 API 必須使用具有 IP 位址限制的 API 金鑰。因此,請將金鑰限制類型從 HTTP 參照網址限制變更為 IP 位址限制。或者,如果您的金鑰已搭配 Maps JavaScript API 使用,則請建立新的 API 金鑰。
Google 地圖平台服務
- 我需要將地址轉換成經緯度的格式組合,Google 地圖平台是否支援此功能?
-
是,我們支援此功能。這個程序稱為「地理編碼」,Maps JavaScript API 包含用於執行地理編碼服務的類別:google.maps.Geocoder。
此外,Google 也提供 Geocoding API,其中包含的 REST 介面能夠以 JSON 和 XML 格式回應。
- 哪些國家/地區可以使用地理編碼?
-
如要查看 Google 地圖平台地理編碼器目前支援的國家/地區,請參閱 Google 地圖涵蓋範圍資料。
地理編碼的準確性可能因國家/地區而異,建議您使用傳回的 location_type 欄位,判斷結果是否適用於應用程式。請注意,您能夠使用的地理編碼資料取決於我們與資料供應商之間的合約,因此可能會隨時變動。
- 為什麼 Google 地圖平台地理編碼器提供的地點與 Google 地圖上的不同?
-
API 和 Google 地圖的地理編碼器有時會使用不同的資料集 (視國家/地區而定)。API 地理編碼器偶爾會有資料更新,因此一段時間過後,您看到的結果可能會有所變更或改善。
- 如想盡可能提高要求的成功率,該如何設定地理編碼器查詢格式?
-
地理編碼器的主要用途為轉換街道地址並對應至地理座標。因此,我們建議您根據下列指南設定地理編碼器要求格式,以盡可能提升查詢的成功率:
- 按照相關國家/地區郵政服務使用的格式來指定地址。
-
不要指定額外的地址項目 (例如相關國家/地區郵政服務未納入地址定義的商家名稱、住宅號碼、樓層號碼或套房號碼),否則會導致傳回含有
ZERO_RESULTS
的回應。 -
請按照這裡指定的格式設定 Plus Codes (加號在網址中會逸出為
%2B
,空格則逸出為%20
):- 全球代碼是 4 個半形字元的區碼,加上 6 個半形字元以上的地區代碼 (例如 849VCWC8+R9 為
849VCWC8%2BR9
)。 - 複合代碼是 6 個半形字元以上的地區代碼,加上明確的位置 (例如 CWC8+R9 Mountain View, CA, USA 為
CWC8%2BR9%20Mountain%20View%20CA%20USA
)。
- 全球代碼是 4 個半形字元的區碼,加上 6 個半形字元以上的地區代碼 (例如 849VCWC8+R9 為
- 如果可能,建議使用建築物的街道號碼,而非建築物名稱。
- 如果可能的話,建議使用街道號碼的地址,而非交叉路口街道。
- 不要提供「建議」,例如附近地標。
- 進行地理編碼時該如何設定美國編號公路的地址格式?
-
Google 地圖平台地理編碼器要求按以下地址格式指定美國編號的公路:
-
郡級道路:
"Co Road NNN"
,其中的「NNN」代表道路編號,例如"Co Road 82"
- 州級高速公路:
"State NNN"
,其中的「State」是指州的全名,而「NNN」則是高速公路的編號,例如"California 82"
-
美國公路:
"U.S. NNN"
,其中的「NNN」是高速公路的編號,例如"U.S. 101"
-
美國州際公路:
"Interstate NNN"
,其中的「NNN」是州際高速公路的編號,例如"Interstate 280"
-
郡級道路:
- 何時應該使用 API 地理編碼器類別?何時應該使用 HTTP 地理編碼服務?
-
請參閱「地理編碼策略」一文,當中會詳細說明不同地理編碼策略的優缺點。
- 如何透過 Google 地圖平台提供行車路線?
-
您可以運用 Routes API 的 Compute Routes 服務和 Directions API,提供單一和多段路程的行車路線。路線選項可讓您指定交通方式 (開車)、單一或多組路線和相關限制 (避開收費路段),有助於規劃交通路線。這些服務的格式如下:
- HTTP 要求/回應介面 (在行動應用程式和其他應用程式中使用) 與 Maps SDK for Android 及其他 Google 地圖 Web 服務相容。
- 針對用戶端應用程式,JavaScript API 可讓您透過 google.maps.DirectionsService 類別提供行車路線。DirectionsRenderer 類別可自動為您建立疊加層和路線窗格。如需其他範例,請參閱這份說明文件。
- 針對伺服器端應用程式,Java、Python、Go 和 Node.js 用戶端介面也提供同樣的功能。如要進一步瞭解用戶端程式庫,請參閱 Directions API 用戶端程式庫。
- 哪些國家/地區可以使用行車路線功能?
-
如要查看 Google 地圖平台產品中目前支援行車路線功能的國家/地區,請參閱 Google 地圖涵蓋範圍資料。請注意,您能夠使用的行車路線資料取決於我們與資料供應商之間的合約,因此可能會隨時變動。
- 哪些國家/地區可以使用大眾運輸路線功能?
-
Directions API 和 Distance Matrix API 支援所有 Google 大眾運輸合作夥伴 (日本除外)。
- Maps JavaScript API 支援哪些 KML 和 GeoRSS 功能?
-
Maps JavaScript API 中的 KmlLayer 類別,可讓開發人員將 KML/KMZ 和 GeoRSS 檔案疊加在地圖上。相關說明文件與範例請參閱這裡。
- 使用 Maps JavaScript API 的 KmlLayer 類別顯示 KML 時,KML 大小和複雜度有什麼限制?
-
如需有關使用
KmlLayer
類別顯示 KML 時,KML 的大小和複雜度限制,請參閱這裡的資訊。 - 如何在地圖上算繪由內部網路網站代管的 KML 檔案?
-
在 Maps JavaScript API 中產生 KML 疊加層的
KmlLayer
類別會以 Google 代管的服務擷取和剖析 KML 檔案,並進行算繪。因此,如果 KML 檔案不是託管於可公開存取的網址,或者需要驗證才能存取,那麼這些檔案就無法顯示。如果您要開發的應用程式是使用由內部網路網站代管的 KML 檔案,建議您採用第三方 JavaScript 程式庫,在用戶端算繪 KML 檔案。KML 檔案是透過瀏覽器進行分析,因此效能可能會低於使用
KmlLayer
類別分析的效能。 - Maps Static API 支援的路徑端點或標記數量上限是多少?
-
Static Maps API 支援的標記或路徑端點數量無上限。如果使用自訂圖示,每次提交要求只能指定最多五個不同的圖示,但每個圖示在地圖上都能多次使用。
請注意,Maps Static API 的網址長度上限大約為 8,192 個半形字元,因此限制了標記和路徑端點的數量。該數量原本取決於指定每組經緯度時使用的小數位數,想知道為什麼使用的小數位數與 Google 地球地點的精確性有關係,請參閱維基百科的 Decimal Degrees 一文。
- 為何無法在特定國家/地區使用 Google 地圖平台產品?
- 如何回報 Google 基本地圖問題?
- 您可以透過 Google 地圖提供意見回饋,指出錯誤或遺漏的地圖資訊,例如:
- 地址或標記位置有誤
- 路名不正確
- 單行道和雙向道資訊有誤
- 道路繪製有誤
- 道路已封閉
- 道路不存在
如要修改地點或商家資訊,請提出修改建議。
如果有基於法律因素而必須移除的 Google 地圖內容,請提交法律案件申請。
如果是重大問題或要求本身具有時效性,請提交客服案件,並附上具體的問題描述。
部分用戶端功能旨在記錄成功或失敗,以便計算服務等級目標。在記錄服務等級目標資訊的呼叫中,這項資訊會透過 maps.googleapis.com/maps_api_js_slo/log
傳送至 Google。這項資訊包括使用中 Maps JavaScript API 的成功狀態、延遲時間和版本/管道。
此外,系統可能會批次處理這些呼叫以提升成效。請注意,您可能需要在「內容安全政策」中允許 maps.googleapis.com
,確保系統不會在瀏覽器層級封鎖這些呼叫。例如:包含 HTTP 標頭的 Content-Security-Policy: default-src 'self' maps.googleapis.com;
,或是包含 HTML 中繼標記的 <meta http-equiv="Content-Security-Policy" content="default-src 'self' maps.googleapis.com;">
。
Maps JavaScript API
- Maps JavaScript API 載入後,要過多久時間才會運作?
-
您至少要每 5 天重新整理一次載入 Maps JavaScript API 的頁面。
Google Maps SDK for iOS
-
如何解決「
kGMSPlacesRateLimitExceeded
」錯誤? - 如果看到這個錯誤,代表您使用的可能是已經淘汰的 Places SDK for iOS 版本。Places SDK for iOS 的 2.7.0 版已停用,且不再提供。請盡快更新應用程式以便使用最新版本。詳情請參閱遷移指南。
- 我在使用 iOS 8.x 裝置進行偵錯時當機,該怎麼辦?
-
如果在搭載 iOS 8.x 的裝置偵錯時遇到問題,請按照下列步驟,在您執行中的 XCode 配置停用 GPU 畫格擷取:
- 在 XCode 中依序選擇「Product」、「Scheme」、「Manage Schemes」。
- 選取一個配置,然後選擇「Edit...」。
- 將「GPU Frame Capture」選項設為「Disabled」。請注意,部分裝置可能不會顯示這個選項。
- 圓邊角且較寬的螢幕對於 Google Maps iOS SDK 有何影響?
-
iPhone 的螢幕外型設計從 iPhone X 版本開始做了調整,包括圓邊角、裝置頂部的感應器區域 (俗稱「瀏海」),以及螢幕底部用來存取主畫面的橫條。從 iOS 11.0 SDK 開始,Apple 新增了 Safe Area API,方便開發人員將元素固定在安全區域,以免超出新的螢幕畫面範圍而遭裁切。
Google Maps iOS SDK 提供許多視覺元素和控制項,例如室內挑選器及問題回報連結。在 2.4 版中,這些視覺元素和控制項可能會因為新的螢幕形狀而受到遮擋。如果裝置處於橫向模式,「瀏海」區域或 Home 鍵橫條可能就會擋到室內樓層挑選器。
Google Maps iOS SDK 2.5 版本自動修正了這些版面配置問題。在 iPhone X 或更高版本的系統上使用應用程式時,系統會增加 GMSMapView 和 GMSPanoramaView 的邊框間距,避免視覺元素遭到裁切。
根據預設,我們一律會加上邊框間距。Google Maps iOS SDK 假設該邊框間距是為了讓元素落在安全區域內而加上的設定。如果您在設計介面時即已考量到這點,並將所有元素都安排在安全區域內,那就不用另外做什麼處理。
如果您設計的介面不適用於我們的預設調整項,我們也導入了新的屬性:paddingAdjustmentBehavior。GMSMapView 現在可讓您從「Always」(一律) (預設值)、「Automatic」(自動) 及「Never」(永不) 這三個邊框間距調整行為中挑選一個。
如果 GMSMapView 的邊框間距行為設為「Always」(一律),系統將一律對邊框間距增加安全區域插邊。這樣您在設計介面時,即可假設所有元素位置與安全區域的邊緣都會保持間距。這是預設值。
如果 GMSMapView 的邊框間距行為設為「Automatic」,則一律從邊框間距或安全區域插邊選擇較大的那個。這可讓您從螢幕邊緣增加邊框間距,而且也能確保所有元素都落在安全區域內。
如果 GMSMapView 的邊框間距行為設為「Never」(永不),系統將一律不會對邊框間距增加安全區域插邊;在版本 2.5 之前都是採取這種做法。如果您在設計邊框間距時已經考量到安全區域,或您認為系統有其他行為與您的介面不符,不妨選擇這個設定。 根據《Google 地圖平台服務條款》的規定,您有責任確保 Google 標誌和版權聲明會持續顯示在畫面上。
但相較之下,GMSPanoramaView 就沒有可選用的邊框間距屬性。這表示您無法進行調整,而 GMSPanoramaView 會一律套用所有必要的邊框間距,確保所有視覺元素都位於安全區域。
Google Maps SDK for Android
-
如何解決「
9005 PLACES_API_RATE_LIMIT_EXCEEDED
」錯誤? - 如果看到這個錯誤,代表您使用的可能是已經淘汰的 Places SDK for Android 版本。Places SDK for Android 的 Google Play 服務版本已停用,且不再提供。 請盡快更新應用程式,即可使用最新版本。詳情請參閱遷移指南。
- 我的應用程式只會顯示灰色空白圖塊,不會顯示地圖。該如何解決這個問題?
-
顯示灰色空白圖塊而未顯示地圖,造成這點的常見原因是驗證方面的問題。您可以按照下列步驟操作,使用 ADB logcat 解決這類問題。
- 請確認您已安裝 ADB。如未安裝,請按照這裡的指南進行。
- 在裝置或 Android Emulator 上安裝出現這個問題的應用程式。如果使用 Android Emulator,請確認模擬器設定已納入 Play 商店。
- 在 Android Studio 終端機執行
adb logcat -e "Google Maps Android API"
。這樣只會印出記錄訊息與「Google Maps Android API」相符的那幾行資料 (您也可以加上「> logcat.txt」,將記錄輸出至文字檔) - 在裝置上重現問題,並檢查是否有常見錯誤,例如:
- 資訊清單中參照錯誤/非預期的 API 金鑰。
- 專案未啟用計費功能。
- 專案 API 未啟用 SDK。
- API 金鑰限制中加入錯誤的 SHA1 指紋。
- 沒有在
build.gradle
檔案中加入 Google Play 服務依附元件。
網址簽署
- 我可以使用 JavaScript 簽署網址嗎?
-
使用 JavaScript 簽署網址可能會向使用者暴露您的網址簽署密鑰,我們非常不建議這樣做。因此,請僅使用伺服器端元件產生簽章。
- 為什麼我的 Maps API Web 服務要求收到「HTTP 403 禁止」(HTTP 403 Forbidden) 的回應訊息?
-
HTTP 403 回應表示有權限問題,或許是因為無法對該要求進行簽名驗證。可能的原因如下:
- 簽章不正確:指定的簽章無法用於這個要求。
- 該要求指定了 Google 地圖平台付費方案的 API 金鑰,但並未指定簽名,而您呼叫的服務規定以 API 金鑰提出的要求都必須隨附有效簽名。
- 已指定簽章,但未指定相關聯的 Google 地圖平台付費方案 API 金鑰。