ルート ポリラインをカスタマイズするには、ConsumerMapStyle.setPolylineStyleOptions
メソッドを使用します。カスタム ポリライン オプションを設定すると、Consumer SDK によって提供されるデフォルト値がオーバーライドされます。
デフォルト値を復元するには、PolylineOptions
パラメータに null
を指定して setPolylineStyleOptions
を呼び出します。
アクティブな PolylineOptions
を取得するには、getPolylineStyleOptions
メソッドを使用します。
詳細については、ConsumerMapStyle.setPolylineStyleOptions
をご覧ください。
ルート ポリラインのタイプ
カスタマイズできるルート ポリラインのタイプは次のとおりです。
ACTIVE_ROUTE
REMAINING_ROUTE
ACTIVE_ROUTE
と REMAINING_ROUTE
は、ルートの追跡中に表示され、車両のルートを表します。
ルート ポリラインのプロパティ
Google マップには、PolylineOptions
内の各ポリラインで使用できるカスタマイズ可能なプロパティが用意されています。
PolylineOptions
をビルドするには、コンストラクタを使用します。カスタマイズされたプロパティを指定するには、Setter スタイルのメソッドを使用します。このメソッドは各プロパティのデフォルト値を提供するため、カスタム値のみを指定する必要があります。
ポリラインをオフにするには、
visible
をfalse
に設定します。
詳細については、Android デベロッパー ドキュメントの PolylineOptions
をご覧ください。
例
Java
// Initializing polyline style options.
consumerController
.getConsumerMapStyle()
.addOnSuccessListener(
consumerMapStyle -> {
consumerMapStyle.setPolylineStyleOptions(
PolylineType.ACTIVE_ROUTE,
new PolylineOptions()
.visible(false));
});
// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null);
Kotlin
// Initializing polyline options.
consumerController
.getConsumerMapStyle()
.addOnSuccessListener({ consumerMapStyle ->
consumerMapStyle.setPolylineStyleOptions(
PolylineType.ACTIVE_ROUTE,
PolylineOptions().visible(false)
)
})
// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null)
アクティブなルート数と残りのルート数
ルート共有を有効にすると、アプリはポリラインを使用してユーザー エクスペリエンスをカスタマイズし、車両のアクティブなルートや残りのルートを表示できます。
アクティブなルートは、お客様のアクティブなルートの次のウェイポイントに到達するために車両が現在走行している経路です。
残りのルートは、アクティブなルートを過ぎて車両がまだ走行する必要がある経路です。アクティブなルート ウェイポイントが最後のルート ウェイポイントの場合、残りのルートは存在しません。
アプリで、アクティブなポリラインと残りのポリラインの表示をカスタマイズして制御できます。デフォルトでは、アクティブなルートは表示され、残りのルートは表示されません。
例
Java
// Initializing polyline options.
consumerController
.getConsumerMapStyle()
.addOnSuccessListener(
consumerMapStyle -> {
consumerMapStyle.setPolylineStyleOptions(
PolylineType.ACTIVE_ROUTE,
new PolylineOptions()
.color(Color.BLUE));
consumerMapStyle.setPolylineStyleOptions(
PolylineType.REMAINING_ROUTE,
new PolylineOptions()
.color(Color.BLACK)
.width(5)
.visible(true));
});
// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null);
consumerMapStyle.setPolylineStyleOptions(PolylineType.REMAINING_ROUTE, null);
Kotlin
// Initializing polyline options.
consumerController
.getConsumerMapStyle()
.addOnSuccessListener({ consumerMapStyle ->
{
consumerMapStyle.setPolylineStyleOptions(
PolylineType.ACTIVE_ROUTE,
PolylineOptions().color(Color.BLUE)
)
consumerMapStyle.setPolylineStyleOptions(
PolylineType.REMAINING_ROUTE,
PolylineOptions().color(Color.BLACK).width(5).visible(true)
)
}
})
// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null)
consumerMapStyle.setPolylineStyleOptions(PolylineType.REMAINING_ROUTE, null)
交通状況を考慮したポリライン
ポリラインの交通レイヤはデフォルトで無効になっています。有効にすると、レンダラは、通常の交通量ではない区間を示すセグメントをルート ポリラインの上に描画します。交通状況に応じたオフセットが含まれます。詳しくは、Android デベロッパー向けドキュメントの Polyline をご覧ください。
Google マップでは、交通状況を4 種類の速度タイプのいずれかとして表します。速度の種類ごとに色をカスタマイズできます。
トラフィック対応ポリラインを有効にするには、TrafficStyle
オブジェクトを作成し、setPolylineTrafficStyle()
を呼び出して ConsumerMapStyle
に渡します。
例
Java
// TrafficStyle is part of the Consumer SDK.
TrafficStyle trafficStyle = TrafficStyle.builder()
.setTrafficVisibility(true)
.setTrafficColor(SpeedType.NO_DATA, Color.GREY)
.setTrafficColor(SpeedType.NORMAL_VALUE, Color.BLUE)
.setTrafficColor(SpeedType.SLOW_VALUE, Color.ORANGE)
.setTrafficColor(SpeedType.TRAFFIC_JAM, Color.RED)
.build();
consumerMapStyle.setPolylineTrafficStyle(PolylineType.ACTIVE_ROUTE, trafficStyle);
Kotlin
// TrafficStyle is part of the Consumer SDK.
val trafficStyle =
TrafficStyle.builder()
.setTrafficVisibility(true)
.setTrafficColor(SpeedType.NO_DATA, Color.GREY)
.setTrafficColor(SpeedType.NORMAL_VALUE, Color.BLUE)
.setTrafficColor(SpeedType.SLOW_VALUE, Color.ORANGE)
.setTrafficColor(SpeedType.TRAFFIC_JAM, Color.RED)
.build()
consumerMapStyle.setPolylineTrafficStyle(PolylineType.ACTIVE_ROUTE, trafficStyle)