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){...}];