本文意在解决通过制定两点坐标获取百度搜索的路径结果信息,用途是重现路径(比如在mapv上绘制轨迹显示效果图等)。

实现思路:

加载百度地图所需的js引用;

html布局用于显示结果;

初始化百度地图并加载到页面上,给地图对象添加点击事件的监听;

实现地图的点击监听方法,主要是获取到点击地图的坐标,并确定是起点和终点;

实现pointPathSearch()方法,创建百度地图驾车路径检索的实例从而实现输入起点终点进行路径规划搜索并设置检索完成的事件监听(主要是实现路径返回的数据的封装),实现搜索方法,主要是处理点击获取的坐标,并调用之前pointPathSearch()方法

获取百度地图点击两点的路线规划信息

html,body{width:100%;height: 100%;padding: 0;margin: 0}

.map{width:100%;height:100%;padding:0;margin:0}

起点
终点
时间 |
距离 |

function creat(){

// 创建Map实例

map = new BMap.Map("map", { enableMapClick: false });

var point = new BMap.Point(112.571757,37.798085);

map.centerAndZoom(point, 9);

map.enableScrollWheelZoom();

if(typeof(mapClickHandler) === "function")

{

map.addEventListener("click", mapClickHandler);

}

}

creat();

var flag = true;

function mapClickHandler(e){

// 从经纬度得到地址

var curPos = e.point.lng + "," + e.point.lat;

if(flag){

$("#sPoint").val(curPos);

flag = false;

}else{

$("#ePoint").val(curPos);

flag = true;

}

}

$("#btnSearch").click(function(){

var sp = $("#sPoint").val();

var ep = $("#ePoint").val();

if(sp && ep){

/*/!*var sPoint = new BMap.Point(sp.split(",")[0],sp.split(",")[1]);

var ePoint = new BMap.Point(ep.split(",")[0],ep.split(",")[1]);*!/*/

pointPathSearch(sp.split(",")[0],sp.split(",")[1],

ep.split(",")[0],ep.split(",")[1]);

}

//namePathSearch("天津","太原",1,array);

});

$("#btnReset").click(function(){

var sp = $("#sPoint").val("");

var ep = $("#ePoint").val("");

flag = true;

map.clearOverlays();

});

function onSearchCompleteYeWHandler(data){

//data中包含搜索返回的一些数据

if(data){

$("#result").text(data.coors);

$("#time").val(data.time);

$("#timeformate").val(data.formattime);

$("#distance").val(data.distance);

$("#distanceformate").val(data.formatdistance);

}

}

function pointPathSearch(slng,slat,elng,elat,policy,tujd){

//确定查询的策略,百度现在只支持最短时间,最短路程,不走高速三种策略

if(policy){

if(policy === 1){

policy = BMAP_DRIVING_POLICY_LEAST_TIME;

}else if(polycy === 2){

policy = BMAP_DRIVING_POLICY_LEAST_DISTANCE;

}else if(polycy === 3){

policy = BMAP_DRIVING_POLICY_AVOID_HIGHWAYS;

}

}else{

policy = BMAP_DRIVING_POLICY_LEAST_TIME;

}

if(slng && slat && elng && elat){

var pA = new BMap.Point(slng,slat);

var pB = new BMap.Point(elng,elat);

driving = new BMap.DrivingRoute(

map,

{renderOptions:{map: map, autoViewport: true},

onSearchComplete:onSearchCompleteHandler,

policy:policy

});

if(tujd && tujd.length>0){

driving.search(pA, pB,{waypoints:tujd});

}else{

driving.search(pA, pB);

}

}

}

function onSearchCompleteHandler(result){

//DrivingRouteResult

//console.log(result.policy.length);

var t = result.getPlan(0);

var tt = t.getRoute(0).getPath();

var result = "";

$.each(tt,function(index,item){

if(item){

if(result === ""){

result += item.lng + "," + item.lat;

}else{

result += ";" + item.lng + "," + item.lat;

}

}

});

var ob = new Object();

ob.coors = result;

ob.time = t.getDuration(false);

ob.formattime = t.getDuration(true);

ob.distance = t.getDistance(false);

ob.formatdistance = t.getDistance(true);

if(typeof onSearchCompleteYeWHandler === "function"){

onSearchCompleteYeWHandler(ob);

}

}

demo只是显示了一个起点终点路径规划,这个方法可以实现批量获取起点和终点的路径规划,主要可以获取到规划的路径的途经点数据,此demo可以扩展到其它支持路径规划功能地图平台上。

python百度地图显示路径_百度地图获取规划路径信息相关推荐

  1. java得到相对路径_[Java]JAVA获取相对路径问题的解决

    1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如: C:xyz est.txt 代表了test.txt文件的绝对路径.http://www. ...

  2. 百度地图获取规划路径信息

    本文意在解决通过制定两点坐标获取百度搜索的路径结果信息,用途是重现路径(比如在mapv上绘制轨迹显示效果图等). 实现思路: 加载百度地图所需的js引用: html布局用于显示结果: 初始化百度地图并 ...

  3. python将Linux下使用top命令获取的进程信息进行分析做可视化展示

    python将Linux下使用top命令获取的进程信息进行分析做可视化展示 版本 版本 作者 日期 备注 v1.0 ZY 2020.11.10 初版完成 文章目录 python将Linux下使用top ...

  4. 百度地图显示服务器地址,百度地图_根据地图上标记位置获取街道信息,以及经纬度信息...

    百度地图Demo var map = new BMap.Map("container");//初始化地图 map.addControl(new BMap.NavigationCon ...

  5. python黑白图片上色_百度AI攻略:黑白图像上色

    [使用攻略][评测报告][黑白图像上色] 1.功能描述: 百度智能识别黑白图像内容并填充色彩,使黑白图像变得鲜活,让老照片重新焕发活力.本文针对黑白图像上色功能开发了使用攻略,提供全套代码,并与其他厂 ...

  6. python图像去污_百度AI攻略:图像去雾

    图像去雾:对浓雾天气下拍摄,导致细节无法辨认的图像进行去雾处理,还原更清晰真实的图像 调用攻略(Python3) 首先认证授权: 在开始调用任何API之前需要先进行认证授权,具体的说明请参考: 获取A ...

  7. 点击百度地图获取位置详细信息(点击获取当前点击位置信息)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. Vue通过微信定位+百度地图获取详细地理位置信息

    项目中需要使用到定位功能,定位用户所在的省市,并自动填充到省市的选择列表中,微信开发中,定位功能直接使用微信提供的接口,方便并且简单,兼容性相对好处理 因为微信定位或者百度地图的定位都是先通过定位获取 ...

  9. python 网络教育-百度传课_百度传课怎么用/如何在线学习网络课程

    1 在百度中搜索[百度传课],从搜索结果中进入百度传课的官网. 2 为了能够在网站中记录自己的学习课程和轨迹,需要先进行登录,在百度传课的首页右上角点击[马上登陆]. 3 因为百度传课的前身一部分是传 ...

最新文章

  1. Python 的一万种用法:制作 Web 可视化页面
  2. Java8 Lambda不仅仅只是语法糖
  3. oracle 数据库 触发器 trigger 语法
  4. java permgen内存泄漏问题处理
  5. 嵩天-Python语言程序设计程序题--第七周:文件和数据格式化
  6. Java注解实现之how to use path variable @PathVariable
  7. 中后端管理系统前后分离、前端框架的实现拙见
  8. 当我们谈AI时,到底该谈什么?
  9. java输出变量_Java笔记1: 输入输出与变量常量
  10. ROS ( C++) 订阅一个机器人的位置并发布给另外一个机器人作为目标goal
  11. 使用Profiler Blocked Process Report Alert 监控数据库Blocking
  12. java des 0填充方式_DES填充方式与初始向量IV的作用
  13. c语言数据类型简介表格,C语言基本数据类型简介.docx
  14. RSS 之父炮轰 Google 强推 HTTPS
  15. android 常用机型尺寸_android手机屏幕密度和逻辑尺寸
  16. 【CV-Paper 08】ResNet:Deep Residual Learning for Image Recognition
  17. 卷积神经网络python实例,python卷积神经网络图像
  18. 移植Linux Kernel SM750 驱动到VxWorks 7
  19. ios android 比较大小,对比苹果iOS,安卓7.0的七个优点
  20. sim7600ce 拨号上网测试_SIM7600CE TCP/IP连接与PPP拨号上网 4G上网

热门文章

  1. springboot项目配置视图解析器无效的问题
  2. pytorch快速上手-使用自动标注软件Openlabeling和yolov5快速完成目标检测
  3. Maya创建重力动力模型教程!
  4. 如何使用Yii2编程:Google身份验证
  5. Ajax传JSON对象报错:JSON parse error: Unrecognized token ‘ids‘: was expecting (‘true‘, ‘false‘ or ‘null‘);
  6. 【HDR学习】苹果EDR技术洞察(二)
  7. 小程序地理位置接口wx.getLocation申请审核解决方法(详细说明及避坑)
  8. 剑指offe 面试题5, 从尾到头打印链表
  9. 计算机显示器有几个接口,电脑显示器的接口有几种?有哪些区别又要如何挑选呢?长知识了!...
  10. 利用Excel饼图画出八等份圆