传入外部定位点数据 最后更新时间: 2021年01月22日
传入外部定位点数据,等价于不再使用系统的定位点进行驱动了,导航SDK内部将会以您传入的定位点数据为标准进行无起点算路和实时导航。
实现“传入外部定位点数据”的步骤如下:
第1步,开启使用外部定位点数据
调用AMapNaviDriveManager的setEnableExternalLocation方法开启使用外部定位点数据。
//开启使用外部定位点数据
[[AMapNaviDriveManager sharedInstance] setEnableExternalLocation:YES];
//开启使用外部定位点数据
AMapNaviDriveManager.sharedInstance().enableExternalLocation = true
第2步,传入外部定位点数据
调用AMapNaviDriveManager的setExternalLocation方法传入外部定位点数据。注意:传入的定位点数据必须是WGS84坐标系(isAMapCoordinate传入NO)或者高德坐标系(isAMapCoordinate传入YES),并且经度、纬度、速度、精度、角度、时间参数缺一不可。
//注意:需要使用当前时间作为时间戳
CLLocation *newLocation = [[CLLocation alloc] initWithCoordinate:location.coordinate
altitude:location.altitude
horizontalAccuracy:location.horizontalAccuracy
verticalAccuracy:location.verticalAccuracy
course:location.course
speed:location.speed
timestamp:[NSDate dateWithTimeIntervalSinceNow:0]];
//传入的是WGS84坐标系的坐标
[[AMapNaviDriveManager sharedInstance] setExternalLocation:newLocation isAMapCoordinate:NO];
//注意:需要使用当前时间作为时间戳
let newLocation = CLLocation(coordinate: location.coordinate,
altitude: location.altitude,
horizontalAccuracy: location.horizontalAccuracy,
verticalAccuracy: location.verticalAccuracy,
course: location.course,
speed: location.speed,
timestamp: Date(timeIntervalSinceNow: 0))
//传入的是WGS84坐标系的坐标
AMapNaviDriveManager.sharedInstance().setExternalLocation(newLocation, isAMapCoordinate: false)