Rota çoklu çizgilerini özelleştirin

Platform seçin: Android iOS JavaScript

Rota çoklu çizgilerini ConsumerMapStyle.setPolylineStyleOptions yöntemini kullanarak özelleştirebilirsiniz. Özel poli çizgisi seçenekleri belirlerseniz bu seçenekler, 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 işlevini çağırın.

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

Daha fazla bilgi için ConsumerMapStyle.setPolylineStyleOptions başlıklı makaleyi inceleyin.

Rota çoklu çizgisi türleri

Aşağıdaki rota çoklu çizgi türlerini özelleştirebilirsiniz:

  • ACTIVE_ROUTE
  • REMAINING_ROUTE

Bir geziyi takip ederken ACTIVE_ROUTE ve REMAINING_ROUTE görüntülenir ve aracın rotasını temsil eder.

Rota çoklu çizgisi özellikleri

Google Haritalar, PolylineOptions içindeki her poli çizgisi için özelleştirilebilir özellikler sağlar.

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

  • Özelleştirilmiş özellikleri belirtmek için "Setter" stili yöntemlerini kullanın. Yöntem her mülk için varsayılan değerler sağladığından yalnızca özel değerler belirtmeniz yeterlidir.

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

Daha fazla bilgi için Android geliştirici dokümanlarındaki 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ızdaki etkin ve kalan rotayı göstermek için çoklu çizgileri kullanarak kullanıcının deneyimini özelleştirebilir.

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

  • Kalan rota, aracın etkin rotanın ötesinde kat etmesi gereken yoldur. Etkin rota yol noktası son gezi yol noktası 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ü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)

Trafik bilincine sahip çoklu çizgiler

Poli çizginin trafik katmanı varsayılan olarak devre dışıdır. Bu seçeneği etkinleştirdiğinizde, oluşturma aracı, rota poli çizgisinin üzerinde normal olmayan trafik alanlarını temsil eden segmentler çizer. Trafik durumuna bağlı bir ofset içerir. Daha fazla bilgi için Android Developers'daki Polyline 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ü için rengi özelleştirebilirsiniz.

Trafik bilinçli çoklu çizgileri etkinleştirmek için bir TrafficStyle nesnesi oluşturun ve ardından setPolylineTrafficStyle()'i çağırarak ConsumerMapStyle'a iletin.

Örnek

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)