Ara nokta yönetme

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

  • Yolun hangi tarafında rota oluşturulacağına dair 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. bir araç paylaşımı sürücüsünün müşterisinin beklediği taraf) varacağını garanti etmez. Yolun Doğru Tarafı 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 et

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ış yönü ayarlama

Önce ara noktanın coğrafi koordinatlarını, ardından varış yönüyle preferredSegmentHeading aynı yol tarafındaki trafik akışının yönüyle eşleşen bir varış yönü sağlarsınız.

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

Navigation SDK, ara noktaya en yakın olan ve ara noktanın bulunduğu yol tarafıyla aynı yönde (yol tarafıyla +/- 55 derece içinde) bir şerit yönüne sahip 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 yol noktasını yakındaki bir yere taşır. vehicleStopover değerini YES olarak ayarladığınızda, rota hesaplanırken alternatif bir konum varsa yol noktası otomatik olarak yeniden konumlandırılır.

İşleyiş şekli

Bir mola için yol noktası oluştururken mola 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){...}];