瞭解詳情

選取平台: Android iOS JavaScript

如要設定界線資料導向樣式,請按照下列步驟操作。

啟用新版地圖轉譯器

自 Maps SDK for Android 18.0.0 版起,您可以使用升級版地圖轉譯器。這個轉譯器為 Maps SDK for Android 帶來多項改善,包括支援雲端式地圖樣式設定。

隨著 Maps SDK for Android 18.2.0 版推出,Google 將預設轉譯器從舊版改為升級版地圖轉譯器。也就是說,當您建立新應用程式或重建現有應用程式時,現在預設使用的是升級版地圖轉譯器。

建立地圖 ID

如要建立新的地圖 ID,請按照「建立地圖 ID」一文中的步驟操作。請務必將地圖類型設定為 Android

建立新地圖樣式

如要建立新地圖樣式,請按照「管理地圖樣式」一文中的說明操作,並將樣式與剛建立的地圖 ID 建立關聯

在新地圖樣式中選取地圖項目圖層

在 Google API 控制台中,您可以為新地圖樣式選取要顯示哪些地圖項目圖層。地圖項目圖層可決定要在地圖上顯示的界線類型 (例如縣市、州/省等等)。

  1. 在 Google API 控制台中,前往「地圖樣式」頁面
  2. 畫面出現提示時,請選取專案。
  3. 選取地圖樣式。
  4. 按一下「地圖項目圖層」下拉式選單,即可新增或移除圖層。
  5. 按一下「儲存」,即可儲存您所做的變更並套用到地圖。

顯示下拉式選單的螢幕截圖。

更新地圖初始化程式碼

這個步驟需要使用您剛建立的地圖 ID,請前往「地圖管理」頁面查看。

如要在初始化程式碼中加入地圖 ID,請參閱「在應用程式中加入地圖 ID」一文。

取得地圖地圖項目圖層的存取權

您可以使用 FeatureLayer 物件來代表地圖的每個地圖項目圖層,例如郵遞區號或地點地圖項目圖層。如要存取地圖項目圖層物件,請在地圖初始化時呼叫 GoogleMap.getFeatureLayer()

Java

private FeatureLayer postalCodeLayer;
@Override public void onMapReady(GoogleMap map) { // Get the POSTAL_CODE feature layer. postalCodeLayer = map.getFeatureLayer(new FeatureLayerOptions.Builder() .featureType(FeatureType.POSTAL_CODE) .build()); ... }

Kotlin

private var postalCodeLayer: FeatureLayer? = null
override fun onMapReady(googleMap: GoogleMap) { // Get the POSTAL_CODE feature layer. postalCodeLayer = googleMap.getFeatureLayer(new FeatureLayerOptions.Builder() .featureType(FeatureType.POSTAL_CODE) .build()) ... }

FeatureLayerOptions 物件傳遞至 getFeatureLayer(),以指定地圖層的類型。在此範例中,您想要存取 POSTAL_CODE 層。為每個要設定樣式的圖層建立不同的 FeatureLayer 物件。

取得 FeatureLayer 物件後,您就可以為該地圖項目中的邊界多邊形套用樣式。

檢查地圖功能 (必要)

界線資料導向樣式需要地圖 ID。如果缺少地圖 ID 或傳遞無效的地圖 ID,就無法載入界線資料導向樣式。如要解決這個問題,您可以使用 MapCapabilities 檢查是否支援界線資料導向樣式。

Kotlin

val capabilities: MapCapabilities = googleMap.getMapCapabilities()
System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable())

Java

MapCapabilities capabilities = googleMap.getMapCapabilities();
System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable());