Maps SDK for Android のバージョン 3.1.0 ベータ版は、以前のバージョンと同じ API サーフェスを持つ新しい実装(すべてのクラスとメソッドに変更はありません)で、以下の新機能をお試しいただけます。
- マップのカスタマイズ
- マーカーの競合の処理
- ポリラインのカスタマイズ
このガイドでは、これらの新機能の使用方法について説明します。
マップのカスタマイズ(ベータ版)
Cloud ベースのマップのスタイル設定には、地図のスタイル設定のカスタマイズや管理を容易にするツールや機能が実装されています。Maps API と SDK を使ってスタイルをコーディングする代わりに、Google Cloud コンソールで地図のスタイル設定や管理を行えるようにしました。詳しくは、Android での地図のカスタマイズの概要をご覧ください。
マーカーの競合の処理(ベータ版)
競合が発生したときに、カスタム マーカーでデフォルトの基本地図のラベルをオーバーライドするかどうかを指定したり、カスタム マーカー間の相対的な優先度を示したりできます。詳しくは、マーカーの競合の処理(Android)をご覧ください。
ポリラインのカスタマイズ(ベータ版)
ポリラインの外観をカスタマイズするための新しい方法がいくつか追加されました。
- マルチカラー ポリライン: ポリラインの線分ごとに異なる色を設定します。
- グラデーション ポリライン: 2 色のグラデーションを使ってポリラインの色を設定します。
- スタンプ型ポリライン: ポリラインの外観をビットマップ画像の反復パターンに設定します。
マルチカラー ポリラインの作成
スパンを使って、ポリラインの個々の線分に色を付けることができます。これを行うには、StyleSpan
オブジェクトを作成し、addSpan()
メソッドまたは addSpans()
メソッドを使って PolylineOptions
に追加します。デフォルトでは、配列の各アイテムが、対応する線分の色に設定されます。以下の例では、線分の色を設定して、赤と緑の線分で構成されるポリラインを作成しています。
Kotlin
val line = map.addPolyline( PolylineOptions() .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693)) .addSpan(StyleSpan(Color.RED)) .addSpan(StyleSpan(Color.GREEN)) )
Java
Polyline line = map.addPolyline(new PolylineOptions() .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693)) .addSpan(new StyleSpan(Color.RED)) .addSpan(new StyleSpan(Color.GREEN)));
グラデーション ポリラインの作成
グラデーションを定義するには、32 ビットの ARGB(alpha、red、green、blue)整数を 2 つ指定して、ストロークの始まりと終わりの色を指定します。PolylineOptions.addSpan()
を呼び出して、シェイプのオプション オブジェクトでこのプロパティを設定します。以下の例では、ウッドランド パーク動物園からワシントン州カークランドまで、赤から黄にグラデーションするポリラインを作成しています。
Kotlin
val line = map.addPolyline( PolylineOptions() .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693)) .addSpan( StyleSpan( StrokeStyle.gradientBuilder( Color.RED, Color.YELLOW ).build() ) ) )
Java
Polyline line = map.addPolyline(new PolylineOptions() .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693)) .addSpan(new StyleSpan(StrokeStyle.gradientBuilder(Color.RED, Color.YELLOW).build())));
スタンプ型ポリラインの作成
ポリラインの外観を、ビットマップ テクスチャの反復パターンに設定できます。これを行うには、TextureStyle
の StampStyle
を作成し、以下のように PolylineOptions.addSpan()
を呼び出すことで、シェイプのオプション オブジェクトでこのプロパティを設定します。
Kotlin
val stampStyle = TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build() val span = StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build()) map.addPolyline( PolylineOptions() .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693)) .addSpan(span) )
Java
StampStyle stampStyle = TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build(); StyleSpan span = new StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build()); map.addPolyline(new PolylineOptions() .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693)) .addSpan(span));
ベータ版と互換性のあるユーティリティ ライブラリをインポートする
Google Maps Android API ユーティリティ ライブラリを使っている場合は、以下のようにプロジェクトの依存関係を更新し、既存のバージョンをベータ版に対応するバージョンに置き換える必要もあります。
- ベータ版に対応するユーティリティ ライブラリを
build.gradle
ファイルにインポートします。implementation 'com.google.maps.android:android-maps-utils-v3:1.3.1'
build.gradle
から次を削除して、ベータ版に対応しないユーティリティ ライブラリを削除します。implementation 'com.google.maps.android:android-maps-utils:1.3.1'
サンプルを実行する
GitHub の Google サンプル リポジトリには、Maps SDK for Android v3.1.0 ベータ版の使用方法を示すサンプルアプリが含まれています。
- Maps SDK for Android のサンプル
- Places SDK for Android のサンプル(Maps SDK for Android v3.1.0 ベータ版でのみ使用)