Google 地圖平台即將推出新版地圖樣式。新版地圖樣式內建全新的預設調色盤,並且提升地圖體驗、改善服務的可用性。所有地圖樣式都將於 2025 年 3 月自動更新。請參閱「
Google 地圖平台新版地圖樣式」一文,進一步瞭解適用範圍及如何提早啟用。
Maps SDK for Android 公用程式庫
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
想在地圖中加入進階地圖項目嗎?Maps SDK for Android 公用程式庫是適合各種應用程式的開放原始碼類別程式庫。GitHub 存放區包含公用程式類別和說明各類別用途的試用版應用程式。
在這部影片中,Chris Broadfoot 將會介紹公用程式庫,並著重說明折線解碼、球面幾何圖形和泡泡圖示。
快速設定
若要安裝 Maps SDK for Android 公用程式庫,請按照設定指南操作。
公用程式
|
將 GeoJSON 匯入地圖
您可以用 GeoJSON 格式儲存地圖項目,然後使用這個公用程式將這些地圖項目算繪為疊加在地圖上的圖層。呼叫 addLayer() 即可將 GeoJSON 資料新增至地圖。您也可以呼叫 addFeature() 並傳入 GeoJsonFeature 物件,藉此新增個別地圖項目。
相關詳情請參閱 Google 地圖 Android GeoJSON 公用程式說明文件。
|
|
將 KML 匯入地圖
您可以使用這個公用程式將 KML 物件轉換成地理形狀,然後把物件算繪為疊加在地圖上的圖層。呼叫 addLayerToMap() 即可將圖層加入地圖。如要存取 KML 物件的屬性,請在任何 Placemark、GroundOverlay、Document 或 Folder 上呼叫 getProperties() 。
相關詳情請參閱 Google 地圖 Android KML 公用程式說明文件。
|
|
在地圖上加入熱視圖
熱視圖能在地圖上顯示資料點的分布位置及相對強度,讓檢視者一目瞭然。這類地圖並不會在各個地點放置標記,而是使用顏色和形狀來表示資料的分布情形。建立 HeatmapTileProvider ,並向其傳遞用來代表地圖上搜尋點的 LatLng 物件集合。接下來請建立新的 TileOverlay ,並向其傳遞熱視圖圖塊提供者,然後將圖塊疊加層加進地圖。
相關詳情請參閱 Google 地圖 Android 熱視圖公用程式說明文件。
|
|
透過泡泡圖示自訂標記
加入 IconGenerator 即可在標記上顯示資訊摘要。此公用程式能讓標記圖示看起來類似資訊視窗,標記本身可包含文字和其他內容。這種做法的好處是您可以同時開啟多個標記,不像資訊視窗一次只能開啟一個。您也可以為標記設定樣式、變更標記和/或內容的方向,以及變更標記的背景圖片/可自訂大小的點陣圖 (9-patch)。
|
|
管理標記叢集
ClusterManager 可協助您管理多個縮放等級不同的標記。也就是說,您可以在地圖上放置大量標記,而不會讓版面因此變得雜亂難看。當使用者以高縮放等級查看時,地圖上會顯示個別標記;縮小至較低等級時,標記會合併為叢集,讓使用者輕鬆查看地圖。
相關詳情請參閱 Google 地圖 Android 標記叢集公用程式說明文件。
|
|
在同一張地圖上加入多個圖層
您可以在同一張地圖上顯示 GeoJSON、KML 和叢集的地圖項目,以及您自訂的標記、折線和多邊形。此外,只要在每個圖層加入點擊事件監聽器,就能讓圖層變成互動式。在設定圖層時對 MarkerManager 、GroundOverlayManager 、PolygonManager 和 PolylineManager 類別執行個體化,然後將這些類別傳遞至 GeoJsonLayer 、KmlLayer 、ClusterManager 的建構函式即可。接著,您可以直接使用上述的 Manager 類別,將自己的標記、折線和多邊形加入地圖。
相關詳情請參閱 Google 地圖 Android 多圖層試用版說明文件。
|
|
對折線進行編碼及解碼
PolyUtil 可用來將經過編碼的折線和多邊形轉換成經緯度座標,也能將座標轉換成編碼。
在 Google 地圖中,用來定義折線或多邊形的經緯度座標會以編碼字串的形式儲存。請參閱折線編碼的詳細說明。您可能會在 Google API (例如 Directions API) 的回應中收到這個編碼字串。
您可以使用 Maps SDK for Android 公用程式庫中的 PolyUtil ,將一系列經緯度座標 (「LatLng」) 轉成編碼路徑字串,或將編碼路徑字串解碼為一系列經緯度座標。如此可確保能與 Google Maps API 網路服務互通。
|
|
透過球面幾何圖形計算距離、面積和方向
您可以使用 SphericalUtil 的球面幾何圖形公用程式,依據緯度和經度來計算距離、面積和方向。以下列舉公用程式中提供的一些方法:
computeDistanceBetween() — 傳回兩個經緯度座標之間的距離 (單位為公尺)。
computeHeading() — 傳回兩個經緯度座標之間的航向 (單位為度數)。
computeArea() — 傳回地球上封閉式路徑圍起的面積 (單位為平方公尺)。
interpolate() — 依兩點距離的指定比例,傳回特定點的經緯度座標。舉例來說,您可以用這個方法為兩點之間的標記加入動畫效果。
如需公用程式中可用方法的完整清單,請參閱參考說明文件。
|
|
確認特定地點是否受到街景服務支援。
只要使用 StreetViewUtil 類別,就能確認特定地點是否受到街景服務支援。這樣一來,在 Android 應用程式中加入街景服務全景時,由於您可以呼叫這個中繼資料公用程式,並只在回應為 OK 的情況下加入街景服務全景,因此就能避免發生錯誤。 如需詳細資訊,請前往 GitHub 參閱街景服務中繼資料公用程式說明文件。
|
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2024-08-13 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2024-08-13 (世界標準時間)。"],[],[]]