路线规划 |
您所在的位置:网站首页 › 高德地图多位置路线规划 › 路线规划 |
路线规划方式有驾车、公交、步行、骑乘和货车等,本章以驾车规划为例向您介绍相关API的使用,包括: 获取驾车路线规划数据 使用默认UI显示驾车路线详情 使用驾车规划拖拽插件编辑路线 其它路线规划 API获取驾车路线规划数据驾车路线规划需要使用AMap.Driving插件,在编码前请确保引入该插件,关于该插件的引入和参考前面的教程:插件的使用。 获取驾车路线规划一般有两种方式:经纬度 和 搜索关键字,下面分别介绍这两种方式。 使用经纬度获取驾车规划数据通过传入起点和终点的经纬度信息,获取对应的驾车路线规划。假如从北京南站驾车到北京站接朋友,一次完整的查询如下: JavaScriptAMap.plugin('AMap.Driving', function() { var driving = new AMap.Driving({ // 驾车路线规划策略,AMap.DrivingPolicy.LEAST_TIME是最快捷模式 policy: AMap.DrivingPolicy.LEAST_TIME }) var startLngLat = [116.379028, 39.865042] var endLngLat = [116.427281, 39.903719] driving.search(startLngLat, endLngLat, function (status, result) { // 未出错时,result即是对应的路线规划方案 }) })如果选用其它的路线规划策略,修改创建AMap.Driving的policy参数即可。其它policy参数请参考 驾车策略 亲手试一试 查看AMap.Driving所有属性和方法 使用关键字获取驾车规划数据通过传入起点、终点的地址信息,获取对应的驾车路线规划。假如要从北京市地震局(公交站)坐车去亦庄文化园(地铁站),一次完整的查询如下: JavaScriptAMap.plugin('AMap.Driving', function() { var driving = new AMap.Driving({ // 驾车路线规划策略,AMap.DrivingPolicy.LEAST_TIME是最快捷模式 policy: AMap.DrivingPolicy.LEAST_TIME }) var points = [ { keyword: '北京市地震局(公交站)',city:'北京' }, { keyword: '亦庄文化园(地铁站)',city:'北京' } ] driving.search(points, function (status, result) { // 未出错时,result即是对应的路线规划方案 }) })如果选用其它的路线规划策略,修改创建AMap.Driving的policy参数即可。其它policy参数请参考 驾车策略 亲手试一试 查看AMap.Driving所有属性和方法 添加途经点参数前面的两节介绍了通过经纬度、关键字方式获取驾车规划数据,并且都只传入了起点和终点。实际上AMap.Driving还支持发起路线规划时传入途经点数据。使用方式请参考下面的代码示例: JavaScriptAMap.plugin('AMap.Driving', function() { var driving = new AMap.Driving({ // 驾车路线规划策略,AMap.DrivingPolicy.LEAST_TIME是最快捷模式 policy: AMap.DrivingPolicy.LEAST_TIME }) var points = [ { keyword: '北京市地震局(公交站)',city:'北京' }, { keyword: '亦庄文化园(地铁站)',city:'北京' } ] var opts = { // 途经点参数,最多支持传入16个途经点 waypoints: [ { keyword: '北京站', city:'北京' } ] } driving.search(points, opts, function (status, result) { // 未出错时,result即是对应的路线规划方案 }) })此外,除了驾车路线规划(AMap.Driving)外,货车路线规划(AMap.TruckDriving)也支持发起路线规划时传入途经点参数。 使用默认UI显示驾车路线规划通常情况下,使用AMap.Driving获取驾车路线规划发起搜索后,需要开发者根据返回的路线方案数据结构自行显示路线详情并结合AMap.Polyline绘制到地图上。同时高德JS API还提供了默认的UI帮助开发者节省时间、提升效率,自动在地图上显示结构化的路线详情。如果您需要使用此功能,请按照下面代码示例编写即可: JavaScriptAMap.plugin('AMap.Driving', function() { var driving = new AMap.Driving({ // 驾车路线规划策略,AMap.DrivingPolicy.LEAST_TIME是最快捷模式 policy: AMap.DrivingPolicy.LEAST_TIME, // map 指定将路线规划方案绘制到对应的AMap.Map对象上 map: map, // panel 指定将结构化的路线详情数据显示的对应的DOM上,传入值需是DOM的ID panel: 'panel' }) var points = [ { keyword: '北京市地震局(公交站)',city:'北京' }, { keyword: '亦庄文化园(地铁站)',city:'北京' } ] // 搜索完成后,将自动绘制路线到地图上 driving.search(points) })如果选用其它的路线规划策略,修改创建AMap.Driving的policy参数即可。其它policy参数请参考 驾车策略 亲手试一试 查看AMap.Driving所有属性和方法 使用驾车规划拖拽插件编辑路线除了通过经纬度和关键字进行驾车路线规划外,还可以使用拖拽插件辅助做驾车路线规划。下面是结合了拖拽插件的驾车路线规划示例: JavaScriptmap.plugin('AMap.DragRoute', function () { // path 是驾车导航的起、途径和终点,最多支持16个途经点 var path = [] path.push([116.303843, 39.983412]) path.push([116.321354, 39.896436]) path.push([116.407012, 39.992093]) var route = new AMap.DragRoute(map, path, AMap.DrivingPolicy.LEAST_FEE) // 查询导航路径并开启拖拽导航 route.search() })亲手试一试 查看AMap.DragRoute所有属性和方法 其它路线规划方式API除驾车路线规划外,高德JS API还提供了其它几种常用的出行路线规划 API: 公交路线规划(AMap.Transfer) 步行路线规划(AMap.Walking) 骑行路线规划(AMap.Riding) 货车路线规划(AMap.TruckDriving)说明:货车路径规划为收费服务接口,目前提供免费配额每日调用次数上限100次,QPS上限1。如果您有更高配额要求或合作意向,请通过工单系统 提交商务合作工单 进行沟通。 具体使用方式,请参考对应的参考手册和示例中心。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |