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 offers tools for enhancing map functionality. Key actions include importing GeoJSON and KML data, adding heatmaps, managing marker clusters, and customizing markers with bubble icons. It supports adding multiple layers, and it also allows users to encode/decode polylines and utilize spherical geometry for distance, area, and heading calculations. Additionally, users can check if a location is supported in street view. All utilities are open-source, and can be viewed with the provided demo app.\n"],null,[]]