Ara nokta yönetme

Bu belgede, iki özellik kullanarak uygulamanız için ara nokta tercihlerini nasıl yönetebileceğiniz açıklanmaktadır:

  • Yolun tarafına göre rota tercihleri
  • Aktarma

Yolun tarafına göre rota belirleme tercihini ayarlama

iOS için Navigasyon SDK'sı varsayılan olarak bir ara noktaya 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 taraf) varacağını garanti etmez. Yolun Tarafı Rota Tercihi özelliği, aracın yolun doğru tarafına ulaşmasını sağlar.

İşleyiş şekli

Yolun belirli bir tarafına varma tercihini, ilgili durak için ara nokta oluştururken ayarlarsınız. Tercihi iki şekilde belirtebilirsiniz.

Yolun aynı tarafını tercih etme

Ara noktanın coğrafi koordinatlarını sağlarsınız ve ardından ara nokta ile aynı yol tarafına (en yakın kaldırıma sabitlenmiş) varmayı tercih ettiğinizi belirten bir işaret preferSameSideOfRoad ayarlarsınız.

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

Varış yönü ayarlama

Ara noktanın coğrafi koordinatlarını ve ardından varış yönünü preferredSegmentHeading sağlarsınız. Bu yön, yolun hedefle aynı tarafındaki trafik akışının yönüyle eşleşir.

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

Navigation SDK, ara noktaya en yakın yol segmentini seçer. Bu segment, ara noktanın bulunduğu yolun tarafıyla hizalanan (±55 derece içinde) bir şerit yönüne sahiptir.

Aktarma tercihi belirleme

Bazı yerlerde kullanıcıların güvenli bir şekilde durması mümkün değildir (ör. yüksek alanlar, feribotlar, yer altı konumları ve erişimin sınırlı olduğu diğer alanlar). Mola özelliği, konumun kullanıcının mola vermesi için uygun olmaması durumunda ara noktayı yakındaki bir yere taşır. vehicleStopover değerini YES olarak ayarladığınızda, rota hesaplanırken alternatif bir konum varsa ara nokta otomatik olarak yeniden konumlandırılır.

İşleyiş şekli

Bir mola için tercihi, o molanın ara noktasını oluştururken ayarlarsınız. Bunu yapmak için aşağıdaki örnekte gösterildiği gibi GMSNavigationMutableWaypoint üzerinde bir mola 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){...}];