경유지 관리

이 문서에서는 다음 두 가지 기능을 사용하여 앱의 경유지 환경설정을 관리하는 방법을 설명합니다.

  • 도로 경로 환경설정의 측면
  • 스톱오버

도로 경로 환경설정의 측면 설정

기본적으로 iOS용 Navigation SDK는 경유지로 가는 가장 빠른 경로를 찾지만 이렇게 한다고 해서 차량이 소비자가 대기 중인 도로 옆에 도착한다는 보장은 없습니다. 도로 라우팅 환경설정의 측면 기능을 사용하면 차량이 도로의 올바른 쪽에 도착하도록 할 수 있습니다.

사용 방법

해당 정류장에 대한 경유지를 만들 때 도로의 특정 쪽에 도착하기 위한 환경설정을 설정합니다. 다음 두 가지 방법 중 하나로 환경설정을 지정할 수 있습니다.

같은 쪽 도로를 선호함

경유지의 지리적 좌표를 제공한 다음, 도로의 가장 가까운 보도에 맞춰 경유지와 같은 쪽에 도착하고자 한다는 것을 나타내는 preferSameSideOfRoad 플래그를 설정합니다.

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

선호 세그먼트 제목

경유지의 지리적 좌표를 제공한 다음 대기 중인 소비자와 같은 쪽의 교통 흐름 방향과 일치하는 도착 방향 preferredSegmentHeading을 제공합니다.

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

Navigation SDK는 경유지에서 가장 가까운 도로 구간을 선택합니다. 이 구간의 차선 방향은 경유지가 위치한 도로 옆과 (+/- 55도 이내) 정렬되어 있습니다.

중간 기착 설정

특정 장소에서는 운전자가 안전하게 정차할 수 없습니다 (예: 고가 지역, 페리, 지하 위치, 기타 접근이 제한된 지역). 경유지 기능은 차량이 정차하기에 적합하지 않은 경우 경유지를 주변 장소로 재배치합니다. vehicleStopoverYES로 설정하면 다른 위치를 사용할 수 있는 경우 경로를 계산할 때 경유지가 자동으로 재배치됩니다.

사용 방법

해당 정류장에 대한 경유지를 만들 때 중간 기착에 대한 기본 설정을 설정합니다. 이렇게 하려면 다음 예와 같이 GMSNavigationMutableWaypoint에서 중간 기착에 관한 환경설정을 지정합니다.

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