百度地图显示起始点和终点的路径规划

这篇博客介绍了如何在HTML中引用JavaScript代码来实现地图上的路线加载和连线功能。`loadLine`函数接受起点和终点的经纬度参数,利用BMap库创建驾车路线,并将路径点转化为字符串。`line`函数则根据传入的坐标点字符串绘制折线。整个过程涉及地图API的使用和路径处理,便于在网页中展示地理信息。
摘要由CSDN通过智能技术生成

初始化完地图以后,将以下代码封装为一个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 (driving.getStatus() == BMAP_STATUS_SUCCESS) {
                longpatStr = "";
                var pts = driving.getResults().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 = longpatStr.replace("undefined", "");
                longpatStr = longpatStr.replace(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);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值