初始化完地图以后,将以下代码封装为一个js,在html中引用该js,直接调用封装好的方法,传入对应的值即可。
var longpatStr
var reg = /,$/gi; //此处是正则/**
* a,b是起点的经度和纬度,c,d是终点的经度和纬度
* @param a,b,c,d
*/
function loadLine(a,b,c,d) {var myP1 = new BMap.Point(parseFloat(a), parseFloat(b)); //起点var myP2 = new BMap.Point(parseFloat(c), parseFloat(d)); //终点var driving = new BMap.DrivingRoute(map, {onSearchComplete: function (results) {if (Status() == BMAP_STATUS_SUCCESS) {longpatStr = "";var pts = Results().getPlan(0).getRoute(0).getPath(); //通过驾车实例,获得一系列点的数组var paths = pts.length;for (var i = 0; i < paths; i++) {console.log(pts[i].lng + " " + pts[i].lat);longpatStr += parseFloat(pts[i].lat) + "|" + parseFloat(pts[i].lng) + ","}longpatStr = place("undefined", "");longpatStr = place(reg, "");$("#point").val(longpatStr)line(longpatStr)}}}, {renderOptions: {map: map,autoViewport: true}});//驾车实例driving.search(myP1, myP2);
}/*** 连线* @param lonlat*/
function line(lonlat) {var co = lonlat.split(",");var pointAttr = new Array();for (var i = 0; i < co.length - 1; i++) {var loglats = co[i].split("|")var point = new BMap.Point(loglats[1], loglats[0])pointAttr.push(point);}var polyline = new BMap.Polyline(pointAttr, {strokeColor: "#cc0000",strokeWeight: 5,strokeOpacity: 0.5});map.addOverlay(polyline);
}
本文发布于:2024-01-28 16:31:32,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17064306988748.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |