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 bunlar, Tüketici SDK'sı 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 yöntemini ç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 çoklu çizgi 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 çizgisi özellikleri

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

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

  • Özel nitelikleri belirtmek için "Setter" stili 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 etkin ve kalan rotasını göstermek için çoklu çizgiler kullanarak kullanıcının deneyimini özelleştirebilir.

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

  • Kalan rota, aracın etkin rotayı geçtikten sonra kat etmesi gereken yoldur. Etkin rota ara noktası son gezi ara noktası olduğunda kalan rota yoktur.

Uygulamanızdaki 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ünmez.

Ö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 özelliği etkinleştirdiğinizde oluşturucu, rota çoklu çizgisinin üzerinde normal olmayan trafik bölümlerini temsil eden segmentler çizer. Trafik koşullarına bağlı olarak bir fark içerir. Daha fazla bilgi için Polyline ile ilgili Android Geliştirici belgelerine bakın.

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

Trafiğe duyarlı çoklu çizgileri etkinleştirmek için bir TrafficStyle nesnesi oluşturun ve ardından setPolylineTrafficStyle() yöntemini çağırarak bu nesneyi ConsumerMapStyle yöntemine 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)