Ara nokta yönetme

Bu belgede, iki özelliği kullanarak uygulamanız için yol noktası tercihlerini nasıl yönetebileceğiniz açıklanmaktadır:

  • Yolun kenarına göre rota tercihleri
  • Aktarma noktası

Yolun kenarını tercih etme

iOS için Navigasyon SDK'sı varsayılan olarak bir yol işaretine giden en hızlı rotayı bulur. Ancak bu, kullanıcının yolun istenen tarafına (ör. araç paylaşımı sürücüsünün müşterisinin beklediği yol tarafı) ulaşacağını garanti etmez. Yol Yönlendirme Tercihindeki Yol Kenarı özelliği, aracın yolun doğru tarafına ulaşmasını sağlar.

İşleyiş şekli

Durak için yol işaretini oluştururken yolun belirli bir tarafına varma tercihini belirlersiniz. Tercihi iki yöntemden biriyle belirtebilirsiniz.

Yolun aynı tarafını tercih etme

Yol noktasının coğrafi koordinatlarını sağlar ve ardından, en yakın kaldırıma sabitlenmiş olarak yol noktasının bulunduğu yolun aynı tarafına varmayı tercih ettiğinizi belirten bir işaret preferSameSideOfRoad belirlersiniz.

(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
                                  title:(NSString *)title
                   preferSameSideOfRoad:(BOOL)preferSameSideOfRoad;

Tercih edilen segment başlığı

Yol noktasının coğrafi koordinatlarını ve ardından, hedefle aynı taraftaki yolun trafiğinin akış yönüyle eşleşen bir varış yönünü preferredSegmentHeading belirtirsiniz.

(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
                                  title:(NSString *)title
                preferredSegmentHeading:(int32_t)preferredSegmentHeading;

Navigasyon SDK'sı, yol işaretine en yakın yol segmentini seçer. Bu yol segmentinin şerit yönü, yol işaretinin bulunduğu yolun kenarıyla (+/- 55 derece içinde) hizalanır.

Aktarma tercihini ayarlama

Belirli yerlerde kullanıcıların güvenli bir şekilde durması mümkün değildir (ör. yüksek yerler, feribotlar, yer altı konumları ve erişimi sınırlı diğer yerler). Durak özelliği, konumu kullanıcının mola vermesi için uygun değilse yol işaretini yakındaki bir yere taşır. vehicleStopover değerini YES olarak ayarladığınızda, alternatif bir konum varsa rota hesaplanırken yol noktası otomatik olarak yeniden konumlandırılır.

İşleyiş şekli

Bir durak için tercihi, ilgili durak için yol işaretini oluştururken belirlersiniz. Bunu yapmak için aşağıdaki örnekte gösterildiği gibi GMSNavigationMutableWaypoint üzerinde bir durak tercihi ayarlayın:

Swift

let location = CLLocationCoordinate2D(latitude: 47.67, longitude: -122.20)
let waypoint = GMSNavigationMutableWaypoint(location: location, title: "waypoint from location")!
waypoint.vehicleStopover = true
mapView.navigator?.setDestinations([waypoint], routingOptions: routingOptions, callback: {...})

Objective-C

CLLocationCoordinate2D location = CLLocationCoordinate2DMake(47.67, -122.20);
GMSNavigationMutableWaypoint *waypoint =
    [[GMSNavigationMutableWaypoint alloc] initWithLocation:location
                                                     title:@"waypoint from location"];
waypoint.vehicleStopover = YES;
[_mapView.navigator setDestinations:@[waypoint1]
                     routingOptions:routingOptions
                           callback:^(GMSRouteStatus routeStatus){...}];