이 문서에서는 다음 두 가지 기능을 사용하여 앱의 경유지 환경설정을 관리하는 방법을 설명합니다.
- 도로 측면 경로 환경설정
- 스탑오버
도로 측면 라우팅 환경설정 지정
기본적으로 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도 이내로 정렬되어 있습니다.
경유지 환경설정 지정
특정 장소에서는 사용자가 안전하게 멈출 수 없습니다 (예: 고지대, 페리, 지하 장소, 접근이 제한된 기타 지역). 경유지 기능은 사용자가 정차하기에 적합하지 않은 위치인 경우 경유지를 근처 장소로 재배치합니다. vehicleStopover
을 YES
로 설정하면 대체 위치가 있는 경우 경로가 계산될 때 경유지가 자동으로 재배치됩니다.
작동 방식
정차 지점의 경유지를 만들 때 해당 정차 지점의 환경설정을 설정합니다.
이렇게 하려면 다음 예와 같이 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){...}];