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 (世界標準時間)。
[null,null,["上次更新時間:2024-08-13 (世界標準時間)。"],[[["The Maps SDK for Android Utility Library is an open-source library offering advanced features for enhancing Google Maps in Android applications."],["It provides utilities for importing GeoJSON and KML data, adding heatmaps, clustering markers, managing multiple map layers, and working with polylines."],["The library includes features for customizing markers with bubble icons and performing spherical geometry calculations for distances, areas, and headings."],["Developers can quickly set up the library by following the provided setup guide and access detailed documentation for each utility."],["A demo app is included in the GitHub repository showcasing the usage of the various classes and functionalities within the library."]]],[]]