Ara nokta yönetme

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

  • Yolun hangi tarafında rota oluşturulacağına ilişkin tercihler
  • Uğrama

Yolun hangi tarafında yönlendirme yapılacağını ayarlama

iOS için Navigation SDK, varsayılan olarak bir ara noktaya en hızlı rotayı bulur ancak bu, kullanıcının yolun istenen tarafına (ör. yolculuk paylaşımı sürücüsünün müşterisinin beklediği taraf) varacağını garanti etmez. Yolun Hangi Tarafından Gidileceği Yönlendirme Tercihi özelliği, aracın yolun doğru tarafına ulaşmasını sağlar.

İşleyiş şekli

Belirli bir yol 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

Geçiş noktasının coğrafi koordinatlarını sağlarsınız ve ardından geçiş noktasıyla aynı yol tarafına varmayı tercih ettiğinizi belirten bir işaret preferSameSideOfRoad ayarlarsınız. Bu işaret, en yakın kaldırıma sabitlenir.

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

Varış başlığı ayarlama

Önce ara noktanın coğrafi koordinatlarını, ardından varış yö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 olan ve şerit yönü ara noktanın bulunduğu yol tarafıyla uyumlu (± 55 derece içinde) olan yol segmentini seçer.

Aktarma tercihi ayarlama

Bazı 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şimin sınırlı olduğu diğer alanlar). Mola özelliği, konumu kullanıcının mola vermesi için uygun değilse 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 tercih belirlemek istiyorsanız ilgili molanın yol noktasını oluştururken tercihinizi ayarlayabilirsiniz. Bunu yapmak için aşağıdaki örnekte gösterildiği gibi GMSNavigationMutableWaypoint üzerinde bir mola 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){...}];