ルートのポリラインをカスタマイズする

プラットフォームを選択: Android iOS JavaScript

ルートのポリラインをカスタマイズするには、ConsumerMapStyle.setPolylineStyleOptions メソッドを使用します。カスタムのポリライン オプションを設定すると、Consumer SDK で提供されるデフォルト値がオーバーライドされます。

デフォルト値を復元するには、 setPolylineStyleOptions パラメータに null を指定して を呼び出します。PolylineOptions

アクティブな PolylineOptions を取得する には、getPolylineStyleOptions メソッドを使用します。

詳細については、 ConsumerMapStyle.setPolylineStyleOptions をご覧ください。

ルートのポリラインのタイプ

次のルートのポリラインのタイプをカスタマイズできます。

  • ACTIVE_ROUTE
  • REMAINING_ROUTE

ACTIVE_ROUTEREMAINING_ROUTE は、乗車中に表示され、 車両のルートを表します。

ルートのポリラインのプロパティ

Google マップでは、PolylineOptions の各ポリラインで使用できるカスタマイズ可能なプロパティが提供されています。

  • PolylineOptions を作成する には、そのコンストラクタを使用します。

  • カスタマイズしたプロパティを指定する には、'Setter' スタイルのメソッドを使用します。このメソッドは各プロパティのデフォルト値を提供するため、カスタム値を指定するだけで済みます。

  • ポリラインをオフにする には、visiblefalse に設定します。

詳細については、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 デベロッパー向けドキュメントのポリラインをご覧ください。

Google マップでは、交通状況は 4 種類の速度タイプで表されます。 速度タイプごとに色をカスタマイズできます。

**交通状況を考慮したポリラインを有効にする** には、TrafficStyle オブジェクト を作成し、setPolylineTrafficStyle() を呼び出して ConsumerMapStyle に渡します。

Java

// TrafficStyle is part of the Consumer SDK.
int orange = Color.rgb(255, 165, 0);
TrafficStyle trafficStyle = TrafficStyle.builder()
  .setTrafficVisibility(true)
  .setTrafficColor(SpeedType.NO_DATA, Color.GREY)
  .setTrafficColor(SpeedType.NORMAL, Color.BLUE)
  .setTrafficColor(SpeedType.SLOW, orange)
  .setTrafficColor(SpeedType.TRAFFIC_JAM, Color.RED)
  .build();

consumerMapStyle.setPolylineTrafficStyle(PolylineType.ACTIVE_ROUTE, trafficStyle);

Kotlin

// TrafficStyle is part of the Consumer SDK.
val orange = Color.rgb(255, 165, 0)
val trafficStyle =
  TrafficStyle.builder()
    .setTrafficVisibility(true)
    .setTrafficColor(SpeedType.NO_DATA, Color.GRAY)
    .setTrafficColor(SpeedType.NORMAL, Color.BLUE)
    .setTrafficColor(SpeedType.SLOW, orange)
    .setTrafficColor(SpeedType.TRAFFIC_JAM, Color.RED)
    .build()

consumerMapStyle.setPolylineTrafficStyle(PolylineType.ACTIVE_ROUTE, trafficStyle)