Ara nokta yönetme

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

  • Yol tarafı yönlendirme tercihleri
  • Duraklama

Yol yönlendirme tercihinin tarafı ayarla

Varsayılan olarak iOS için Navigasyon SDK'sı bir ara noktaya giden en hızlı rotayı bulur. Ancak bu, aracın tüketicinin beklediği yol boyunca ulaşacağını garanti etmez. Yolun Tarafı Rota Belirleme Tercihi özelliği, aracın yolun doğru tarafına ulaşmasını sağlar.

İşleyiş şekli

Yolun belirli bir tarafına varma tercihini, söz konusu durak için referans noktası oluştururken belirlersiniz. Tercihinizi iki şekilde belirtebilirsiniz.

Yolun aynı tarafı tercih ediliyor

Referans noktasının coğrafi koordinatlarını gösterir ve ardından yolun ara noktasıyla aynı taraftan varmayı tercih ettiğinizi belirten bir bayrak preferSameSideOfRoad ayarlarsınız ve bu işaret en yakın kaldırıma denk gelir.

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

Tercih edilen segment başlığı

Referans noktasının coğrafi koordinatlarını sağlar ve ardından, bekleyen tüketiciyle yolun aynı tarafındaki trafik akış yönüyle eşleşen bir varış başlığı preferredSegmentHeading sağlarsınız.

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

Navigasyon SDK'sı, ara noktaya en yakın yol segmentini seçer. Yol, ara noktanın üzerinde bulunduğu yol kenarıyla (+/- 55 derece arasında) hizalanan bir şerit yönüne sahiptir.

Ara verme tercihini ayarla

Sürücülerin belirli yerlerde (ör. yüksek bölgeler, feribotlar, yer altı konumları ve erişimin sınırlı olduğu diğer bölgeler) güvenli bir şekilde durması mümkün değildir. Stopover özelliği, referans noktasının konumu bir aracın durması için uygun değilse referans noktasını yakındaki bir yere yeniden konumlandırır. vehicleStopover konumunu YES olarak ayarladığınızda, alternatif bir konum varsa rota hesaplanırken referans noktasının konumu otomatik olarak değiştirilir.

İşleyiş şekli

Bir ara durak için ara nokta oluştururken tercihinizi ayarlarsınız. Bunu yapmak için aşağıdaki örnekte gösterildiği gibi GMSNavigationMutableWaypoint üzerinde duraklama tercihini 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){...}];