Rota çoklu çizgilerini özelleştirin

Platform seçin: Android iOS JavaScript

Rota çoklu çizgilerini ConsumerMapStyle.setPolylineStyleOptions yöntemini kullanarak özelleştirirsiniz. Özel çoklu çizgi seçenekleri ayarlarsanız bu seçenekler, Consumer SDK tarafından sağlanan varsayılan değerleri geçersiz kılar.

Varsayılan değerleri geri yüklemek için PolylineOptions parametresi için null ile setPolylineStyleOptions işlevini çağırın.

Etkin PolylineOptions değerini almak için getPolylineStyleOptions yöntemini kullanın.

Daha fazla bilgi için ConsumerMapStyle.setPolylineStyleOptions konusuna bakın.

Rota çoklu çizgi türleri

Aşağıdaki rota poliline türlerini özelleştirebilirsiniz:

  • ACTIVE_ROUTE
  • REMAINING_ROUTE

ACTIVE_ROUTE ve REMAINING_ROUTE, bir gezi takip edilirken gösterilir ve aracın rotasını temsil eder.

Rota çoklu çizgi özellikleri

Google Haritalar, PolylineOptions içindeki her çoklu çizgi için özelleştirilebilir özellikler sunar.

  • Oluşturmak için PolylineOptions oluşturucusunu kullanın.

  • Özelleştirilmiş özellikleri belirtmek için "Setter" tarzı yöntemleri kullanın. Yöntem, her özellik için varsayılan değerler sağladığından yalnızca özel değerleri belirtmeniz gerekir.

  • Çoklu çizgiyi devre dışı bırakmak için visible değerini false olarak ayarlayın.

Daha fazla bilgi için Android geliştirici belgelerindeki PolylineOptions bölümüne bakın.

Örnek

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)

Etkin ve Kalan Rota

Yolculuk paylaşımı etkinleştirildiğinde uygulamanız, aracınızın aktif ve kalan rotasını göstermek için çoklu çizgileri kullanarak kullanıcının deneyimini özelleştirebilir.

  • Etkin rota, aracın şu anda müşterinin etkin gezisindeki bir sonraki yol noktasına ulaşmak için izlediği yoldur.

  • Kalan rota, aracın etkin rotadan sonra gitmesi gereken yoldur. Etkin rota üzerindeki son gezi noktası, son nokta olduğunda kalan rota mevcut değildir.

Uygulamanızda etkin ve kalan çoklu çizgilerin görünürlüğünü özelleştirebilir ve kontrol edebilirsiniz. Varsayılan olarak, etkin rota görünür, kalan rota ise görünür değildir.

Örnek

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)

Trafiğe duyarlı çoklu çizgiler

Çoklu çizginin trafik katmanı varsayılan olarak devre dışıdır. Bu ayarı etkinleştirdiğinizde, oluşturucu, normal olmayan trafik akışlarını temsil eden ve rota çoklu çizgisinin üzerinde yer alan segmentler çizer. Trafik durumuna bağlı olarak bir dengeleme içerir. Daha fazla bilgi için Android geliştirici belgelerindeki Polyline bölümüne bakın.

Google Haritalar, trafik koşullarını dört hız türünden biri olarak gösterir. Her hız türü için rengi özelleştirebilirsiniz.

Trafiğe duyarlı çoklu çizgileri etkinleştirmek için bir TrafficStyle nesnesi oluşturun ve setPolylineTrafficStyle() işlevini çağırarak ConsumerMapStyle'a iletin.

Örnek

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)