Google Maps Platform では、クラウドベースの地図のスタイル機能を提供しています。この機能により、Google Cloud Console を使用した地図のスタイル設定、カスタマイズ、管理が容易になり、地図の全体的なユーザー エクスペリエンスが向上します。こうした機能を簡単に適用したり管理したりできるよう、クラウドベースの地図のスタイル設定では次のような新しいツールが Google Cloud Console に追加されました。
- スタイルを簡単に作成できるスタイル エディタ。
- マップ ID の作成と管理。
- カスタムマップのスタイルの作成と管理。
- スタイルを動的に更新するツール。
マップ ID をアプリに追加する
マップ ID は、特定の地図のスタイルまたは対象物に関連付けられた識別子です。Google Cloud Console で地図のスタイルを設定してマップ ID に関連付け、コード内でマップ ID を参照すると、関連するマップスタイルがアプリに表示されます。以降に行われるスタイルの更新が自動的にアプリに反映されるため、ユーザー自らが更新する必要がなくなります。
アクティビティのレイアウト ファイルの <fragment>
要素を使ってマップ ID を追加するには、MapView
クラスを使用するか、プログラムで GoogleMapOptions
クラスを使用します。
たとえば、map_id
という名前の文字列値として res/values/strings.xml
に保存されているマップ ID を作成したとします。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="map_id">YOUR_MAP_ID</string>
</resources>
アクティビティのレイアウト ファイルで <fragment>
要素を使って追加した地図の場合、カスタム スタイルを持つすべての地図フラグメントで、map:mapId
属性にマップ ID を指定する必要があります。
<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
class="com.google.android.gms.maps.SupportMapFragment"
…
map:mapId="@string/map_id" />
MapView
クラスの map:mapId
属性を使ってマップ ID を指定することもできます。
<com.google.android.gms.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
....
map:mapId="@string/map_id" />
マップ ID をプログラムで指定するには、GoogleMapOptions
クラスを使って SupportMapFragment
インスタンスに渡します。
Java
GoogleMapOptions options = new GoogleMapOptions() .mapId("YOUR_MAP_ID"); SupportMapFragment mapFragment = SupportMapFragment.newInstance(options);
Kotlin
val options = GoogleMapOptions() .mapId("YOUR_MAP_ID") val mapFragment = SupportMapFragment.newInstance(options)
または、次のように MapView
インスタンスに渡します。
Java
GoogleMapOptions options = new GoogleMapOptions() .mapId("YOUR_MAP_ID"); MapView mapView = new MapView(context, options);
Kotlin
val options = GoogleMapOptions() .mapId("YOUR_MAP_ID") val mapView = MapView(context, options)
Android Studio で、通常どおりにアプリをビルドして実行します。カスタム スタイルは、ID を持つすべての地図に適用されます。
マップ スタイル エディタを使用する
マップ スタイル エディタは、Google Cloud Console で利用できる GUI ベースのツールです。