PHP地图规划骑行路径,骑行路线规划-路线规划-开发指南-iOS 导航SDK | 高德地图API...

基本介绍

要实现骑行路径规划功能,以下三个类您需要了解:AMapNaviRideManager 是骑行导航管理类,提供路线规划、行前选路、导航中重算等方法。注意:从导航SDK7.4.0开始,AMapNaviRideManager 的init方法已被禁止使用,请使用单例 [AMapNaviRideManager sharedInstance] 替代,且在调用类的 dealloc 函数里或其他适当时机(如导航ViewController被pop时),调用 [AMapNaviRideManager destroyInstance] 来销毁单例(需要注意如未销毁成功,请检查单例是否被强引用)

是骑行导航管理协议类,提供算路导航过程中的事件(如:路径规划成功/失败、TTS字符串、GPS信号弱、到达目的地等)回调接口。

是骑行导航数据协议类,提供算路导航过程中的实时数据(如:诱导信息NaviInfo、定位信息等)回调接口。

说明:注意:路径规划功能需要联网使用。

起终点信息可通过多种方式获取,如:使用坐标拾取器查询您需要的点的坐标;还可以通过搜索 SDK 中的 POI  搜索查询兴趣点,作为起终点。

提供三种骑行路线规划的方法,如下表所示:

方法名参数说明返回值说明方法效果

calculateRideRouteWithEndPoint:endPoint:终点坐标;BOOL,表示规划路径所需条件和参数校验是否成功,不代表算路是否成功。终点为经纬度的无起点骑行路径规划。(内部取当前定位点作为起点)

calculateRideRouteWithStartPoint:endPoint:startPoint:起点坐标;

endPoint:终点坐标;BOOL,表示规划路径所需条件和参数校验是否成功,不代表算路是否成功。起终点为经纬度的骑行路径规划。

calculateRideRouteWithStartPOIInfo:endPOIInfo:strategy:startPOIInfo:起点POIInfo;

endPOIInfo:终点POIInfo;

strategy:路径的计算策略;BOOL,表示规划路径所需条件和参数校验是否成功,不代表算路是否成功。起终点为POIInfo的骑行路径规划。(起点可为空,内部取当前定位点作为起点)推荐使用 -calculateRideRouteWithStartPOIInfo:endPOIInfo:strategy: 方法进行路径规划,SDK内部会根据 POIId 或者 startPOIInfo.startAngle,自动补全其他信息,从而规划出更合理的路线,有效减少绕路的出现。

使用说明

第 1 步,设置起终点信息

//使用POI初始化起终点

self.startPOIInfo = [[AMapNaviPOIInfo alloc]init];

self.startPOIInfo.mid = @"B0FFFAB6J2";

self.endPOIInfo = [[AMapNaviPOIInfo alloc]init];

self.endPOIInfo.mid = @"B0FFIA9OE8";

//使用POI初始化起终点

let startPOIInfo = AMapNaviPOIInfo.init()

startPOIInfo.mid = "B0FFFAB6J2"

let endPOIInfo = AMapNaviPOIInfo.init()

endPOIInfo.mid = "B0FFIA9OE8"

第 2 步,规划路线

//使用POI规划骑行路线

[[AMapNaviRideManager sharedInstance] calculateRideRouteWithStartPOIInfo:self.startPOIInfo endPOIInfo:self.endPOIInfo strategy:AMapNaviTravelStrategyMultipleDefault];

//使用POI规划骑行路线

AMapNaviRideManager.sharedInstance().calculateRideRoute(withStart: startPOIInfo, end: endPOIInfo, strategy: AMapNaviTravelStrategy.multipleDefault)

第 3 步,处理结果

当骑行路线规划成功时,会触发 -rideManagerOnCalculateRouteSuccess: 回调,在该回调函数中,可以进行规划路线显示,也可以直接开启导航。

- (void)rideManagerOnCalculateRouteSuccess:(AMapNaviRideManager *)rideManager

{

NSLog(@"onCalculateRouteSuccess");

//显示路径或开启导航

}

func rideManager(onCalculateRouteSuccess rideManager: AMapNaviRideManager)

{

NSLog("CalculateRouteSuccess")

//显示路径或开启导航

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值