百度地图绘制多段 驾车路线
百度地图绘制多段 驾车路线
直接上代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>百度地图绘制驾车途经点路线图</title> <script type="text/javascript"src="http://api.map.baidu.com/api?v=2.0&ak=3c3eb86a72b9af267d7432a4159768dd"></script><scriptsrc="https://code.jquery.com/jquery-1.12.4.js"integrity="sha256-Qw82+bXyGq6MydymqBxNPYTaUXXq7c8v3CwiYwLLNXU="crossorigin="anonymous"></script>
</head>
<body> <div id=""><p>坐标点:<input type='text' id="pointStr" placeholder="坐标点(开始/途经点/终点) 坐标点之间用竖杠分割(如:109.27729623,35.0843510|109.276876,35.0804703)" style="width: 81.25rem;height: 2.5rem;" /></p></div>
<p><input type='button' value='开始画线' onclick='run();' /></p>
<div style="width:1400px;height:600px;border:1px solid gray" id="container"></div>
<script type="text/javascript"> var map = new BMap.Map("container"); map.centerAndZoom(new BMap.Point(113.288386,23.139859),20); map.enableScrollWheelZoom(true); // 滚轮缩放map.enableContinuousZoom(); //启用地图惯性拖拽,默认禁用map.addControl(new BMap.NavigationControl({type : BMAP_NAVIGATION_CONTROL_ZOOM, //缩放控件类型 仅包含缩放按钮anchor : BMAP_ANCHOR_TOP_LEFT, //左上角offset : new BMap.Size(1,1) //进一步控制缩放按钮的水平竖直偏移量}));map.addControl(new BMap.NavigationControl()); // 添加平移缩放控件 map.addControl(new BMap.ScaleControl()); // 添加比例尺控件 map.addControl(new BMap.OverviewMapControl()); //添加缩略地图控件 // var myP1 = new BMap.Point(109.27729623387252,35.08435108922867); // var myP2 = new BMap.Point(109.27687667087184,35.08047031893331); // var myP3 = new BMap.Point(109.16293867684635,34.8374516358238);// var myP4 = new BMap.Point( 109.08492109954132,34.824928484264824);// var myP5 = new BMap.Point(113.301513,23.129129);window.run = function (){ var mapPoint=[];var pointStr=$("#pointStr").val();if(pointStr!=""&&pointStr!="undefind"){var point=pointStr.split("|")point.forEach((point)=>{var co=point.split(",")var myP1 = new BMap.Point(parseFloat(co[0]),parseFloat(co[1]));mapPoint.push(myP1);})}map.clearOverlays(); var newArray=group(mapPoint)// alert(JSON.stringify(newArray))newArray.forEach((newPoint,index)=>{var driving = new BMap.DrivingRoute(map); //创建驾车实例// driving.search(myP1, myP4); //第一个驾车搜索 driving.search(newPoint[0], newPoint[newPoint.length-1]); driving.setSearchCompleteCallback(function(){ var pts = driving.getResults().getPlan(0).getRoute(0).getPath(); //通过驾车实例,获得一系列点的数组 var polyline = new BMap.Polyline(pts); map.addOverlay(polyline); newPoint.forEach((point,index)=>{var m = new BMap.Marker(point); map.addOverlay(m); var lab= new BMap.Label("目标点",{position:point});map.addOverlay(lab); })// var m1 = new BMap.Marker(myP1); //创建3个marker // var m2 = new BMap.Marker(myP2); // var m3 = new BMap.Marker(myP3); // var m4 = new BMap.Marker(myP4); // // var m5 = new BMap.Marker(myP5); // map.addOverlay(m1); // map.addOverlay(m2); // map.addOverlay(m3);// map.addOverlay(m4);// // map.addOverlay(m5);// var lab1 = new BMap.Label("起点",{position:myP1}); //创建3个label // var lab2 = new BMap.Label("途径点1",{position:myP2}); // var lab3 = new BMap.Label("途径点2",{position:myP3}); // var lab4 = new BMap.Label("终点",{position:myP4}); // // var lab5 = new BMap.Label("终点",{position:myP5}); // map.addOverlay(lab1); // map.addOverlay(lab2); // map.addOverlay(lab3);// map.addOverlay(lab4); // // map.addOverlay(lab5); setTimeout(function(){ map.setViewport(newPoint); //调整到最佳视野 // map.setViewport([myP1,myP2,myP3,myP4]); //调整到最佳视野 },1000); }); })//清除地图上所有的覆盖物 } function group(array) {let index = 0;let newArray = [];while(index < array.length) {newArray.push(array.slice(index, index+2));index++ }return newArray;}
</script>
</body>
</html>
百度地图绘制多段 驾车路线相关推荐
- 百度地图API,改变驾车路线颜色(仿淘宝快递查询,一条路线两个颜色)
想仿淘宝做一个物流查询,分为:寄件点.当前点. 收件点 和 路线图. 快递已走的路径(寄件点到当前点的颜色)和未走的路径(当前点到收件点)用 颜色 进行区分. 利用百度地图提供的API(当时遇到了点问 ...
- vue百度地图绘制行进路线/路书/路线规划/线路展示
实现效果 申请KEY/安装插件 点击这个链接注册账号https://lbsyun.baidu.com/https://lbsyun.baidu.com/ 然后按图操作 安装插件 操作都在这个链接htt ...
- 百度地图绘制途径点/分段绘制路线
百度地图绘制途径点 百度地图Api地址: https://lbsyun.baidu.com/ 公司项目中要求绘制物流信息,需体现途径点 但是我在其中没有找到有关绘制路线,设定途径点的相关说明 有一个非 ...
- 百度地图绘制实时路线以及最短线路规划
如何使用百度地图绘制实时路线以及最短线路规划 最近在做百度地图的实时路线绘制,发现一些问题,比如由于定位漂移带来的路线绘制偏差,还有由于定位漂移,导致人未走动时,也会绘制路线等.百度鹰眼的线路纠偏个人 ...
- android+动态地图+效果图,Android百度地图绘制圆形,圆形半径可动态变化
问题:百度地图绘制圆形,圆形半径可随进度拖动条发生改变 思路:圆形本身是一个覆盖物,可参考百度地图Demo中的OverlayDemo.java这个类进行实现.完成画圆之后,圆形半径如何随着进度条的拖动 ...
- 百度地图-绘制工具以及覆盖物的简单使用
这几天重拾了地图相关的功能,做一个小小的总结. 本文的示例的后端为flask框架,前端使用了bootstrap和jQuery以及百度地图API. 接下来是展示部分. 地图上的覆盖物表示高校所处的位置, ...
- vue结合百度地图绘制工具遇到的问题及解决方案(多边形编辑状态下形状显示不全、marker点添加事件无效)
vue如何引入百度地图绘制工具 百度地图绘制工具示例 http://developer.baidu.com/map/jsdemo.htm#f0_7 百度地图绘制工具api文档 http://api.m ...
- 使用百度地图绘制点、线、面 | Javascript
写在前面: 本文为百度地图开发系列文章之一, 前期回顾: webGIS,基于百度地图的HelloWord实现 如何使用前端css代码去掉百度地图左下角的图标 使用百度地图绘制点.线.面 | Javas ...
- Python调用百度地图绘制热力图密钥问题
首先奉上效果图: 问题描述: 因工作需求,必须用百度地图绘制热力图:发现因关于百度地图密钥的使用问题如下: 1.抓取经纬度信息状态码200: {"status":200," ...
最新文章
- 1677: [Usaco2005 Jan]Sumsets 求和
- 一个函数打天下,einsum
- matlab中tecdem,TopoToolbox: A set of Matlab functions for topographic analysis
- python整人程序_python—做一个恶搞程序
- android 自定义flowlayout,Android 自定义ViewGroup之实现FlowLayout-标签流容器
- 用 JA Transmenu 模块做多级弹出菜单
- _stdcall与_cdecl的区别
- 理解XML Schema: XML Schema 初步 (I)(转)
- 解决IIS安装的问题:要求输入用户名和密码
- Java 通过反射获取类的信息(成员变量,成员方法,构造方法)
- JeeWx 微信管家平台,简称“捷微”
- zemax设置 像方远心_ZEMAX|如何翻转整个光学系统
- 分享一种快速制作二维码标签及防伪溯源二维码的方法
- python的help()用法
- CISCO和华为交换机修改密码
- GoF设计模式(二)-行为型模式简介
- VS中MD和MT的区别
- 二阶系统阶跃响应实验_自动控制原理实验一:二阶系统阶跃响应
- 国家开放大学2021春1133文献检索题目
- 微信小程序实现身份证识别-ocr
热门文章
- 矩阵的初等变换的应用
- 强制用户在下次登录Linux时更改密码
- 2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)
- Wordpress 网站设计入门3 网页设计和管理
- C++药名整理题——教你首字符串升序排序
- 计算机教育学专业考研科目,计算机考研科目和专业
- VMware虚拟机的安装,并编写简单的C程序
- linux不识别U盘
- Android 自定义ListView系列之适配器模式(少壮不努力,老大学IT)
- 本地回环地址127.0.0.1