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 kenarı yönlendirme tercihleri
  • Duraklama

Yol yönlendirme tercihinin tarafını ayarla

Varsayılan olarak, iOS için Navigasyon SDK'sı bir ara noktaya giden en hızlı rotayı bulur. Ancak bu, kullanıcının yolun istediğiniz tarafına (örneğin, araç paylaşımı sürücüsü müşterisinin beklediği yol kenarına) varacağını garanti etmez. Yol Rotası Tercihi özelliği, aracın yolun doğru tarafına geldiğinden emin olmanızı sağlar.

İşleyiş şekli

Söz konusu durak için ara nokta oluşturduğunuzda, yolun belirli bir tarafına ulaşma tercihini ayarlarsınız. Bu tercihi iki yöntemden biriyle belirtebilirsiniz.

Yolun aynı tarafını tercih ediyorum

Referans noktasının coğrafi koordinatlarını sağlarsınız ve ardından, yol üzerinde, en yakın kaldırıma tutturulmuş şekilde, ara noktayla aynı tarafa ulaşmayı 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ığı

Referans noktasının coğrafi koordinatlarını ve ardından, yolun hedefle aynı tarafındaki trafik akış yönüyle eşleşen bir varış başlığı preferredSegmentHeading girersiniz.

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

Navigasyon SDK'sı, ara noktaya en yakın yol segmentini seçer. Bu segment, referans noktasının bulunduğu yolun tarafıyla hizalanan (+/- 55 derece içinde) bir şerit yönü içerir.

Durak tercihini ayarlayın

Bazı yerlerde kullanıcıların güvenli bir şekilde durması mümkün değildir (örneğin, yükseltilmiş bölgeler, feribotlar, metro konumları ve diğer sınırlı erişim alanları). Stopover özelliği, konumu kullanıcının mola vermesi için uygun değilse ara noktayı yakındaki bir yere yeniden taşır. vehicleStopover değerini YES olarak ayarladığınızda, alternatif bir konum varsa rota hesaplanırken referans noktası otomatik olarak değiştirilir.

İşleyiş şekli

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