Mengelola titik jalan

Dokumen ini menjelaskan cara mengelola preferensi titik jalan untuk aplikasi Anda menggunakan dua fitur:

  • Preferensi pemilihan rute sisi jalan
  • Persinggahan

Menetapkan preferensi pemilihan rute sisi jalan

Secara default, Navigation SDK untuk iOS menemukan rute tercepat ke titik jalan, tetapi hal ini tidak menjamin bahwa pengguna akan tiba di sisi jalan yang diinginkan, misalnya, sisi jalan tempat pelanggan pengemudi transportasi online menunggu. Fitur Preferensi Pemilihan Rute Sisi Jalan memungkinkan Anda memastikan bahwa kendaraan tiba di sisi jalan yang benar.

Cara kerjanya

Anda menetapkan preferensi untuk tiba di sisi jalan tertentu saat membuat titik jalan untuk perhentian tersebut. Anda dapat menentukan preferensi dengan salah satu dari dua cara.

Memilih sisi jalan yang sama

Anda memberikan koordinat geografis titik jalan, lalu menetapkan tanda preferSameSideOfRoad yang menunjukkan bahwa Anda lebih suka tiba di sisi jalan yang sama dengan titik jalan—dihubungkan ke trotoar terdekat.

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

Judul segmen pilihan

Anda memberikan koordinat geografis titik jalan, lalu memberikan arah kedatangan preferredSegmentHeading yang cocok dengan arah arus lalu lintas di sisi jalan yang sama dengan tujuan.

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

Navigation SDK memilih segmen jalan yang paling dekat dengan titik jalan—yang memiliki arah jalur yang sejajar (dalam +/- 55 derajat) dengan sisi jalan tempat titik jalan berada.

Menetapkan preferensi perhentian sementara

Di tempat tertentu, pengguna tidak dapat berhenti dengan aman (misalnya, area yang ditinggikan, feri, lokasi bawah tanah, dan area lain dengan akses terbatas). Fitur Perhentian memindahkan titik jalan ke tempat terdekat jika lokasinya tidak cocok bagi pengguna untuk berhenti. Saat Anda menetapkan vehicleStopover ke YES, titik jalan akan otomatis dipindahkan saat rute dihitung, jika lokasi alternatif tersedia.

Cara kerjanya

Anda menetapkan preferensi untuk perhentian saat membuat titik jalan untuk perhentian tersebut. Untuk melakukannya, tetapkan preferensi untuk perhentian di GMSNavigationMutableWaypoint seperti yang ditunjukkan pada contoh berikut:

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){...}];