境界線用データドリブン スタイル設定を設定する手順は次のとおりです。
新しいマップレンダラを有効にする
アップグレードされた地図レンダラは、Maps SDK for Android のバージョン 18.0.0 以降でご利用いただけます。このレンダラでは、Cloud ベースのマップのスタイル設定の Maps SDK for Android でのサポートなど、多くの改良が加えられています。
Maps SDK for Android のバージョン 18.2.0 のリリースに伴い、デフォルトのレンダラが以前のレンダラからアップグレードされた地図レンダラに切り替えられました。この変更により、新しいアプリの構築時や既存のアプリの再構築時に、アップグレードされた地図レンダラがデフォルトでアプリ内で使用されるようになります。
マップ ID を作成する
マップ ID を作成するの手順に沿って、新しいマップ ID を作成します。地図のタイプは [Android] に設定します。
新しい地図のスタイルを作成する
地図のスタイルを新規作成するには、地図のスタイルを管理するの手順に沿ってスタイルを作成し、先ほど作成したマップ ID にスタイルを関連付けます。
新しい地図のスタイルで対象物レイヤを選択する
Google API Console では、表示する対象物レイヤを選択できます 新しい地図のスタイルを作成します。対象物レイヤによって 地図上に表示されます(地域区分、州など)。
- Google API Console で、[地図のスタイル] ページに移動します。
- 確認のメッセージが表示されたら、プロジェクトを選択します。
- 地図のスタイルを選択します。
- [対象物レイヤ] プルダウンをクリックして、レイヤを追加または削除します。
- [保存] をクリックして変更内容を保存し、地図に表示します。
地図の初期化コードを更新する
この手順には、作成したマップ 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
オブジェクトを取得したら、
その対象物の境界ポリゴンです。
地図の capabilities を確認する(必須)
境界線用データドリブン スタイル設定には、マップ 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());