关于百度地图的一些了解(个人记录)

<script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=vbFeYAPQAQ6nMCRMUu3ljefS5aQvCPoG"></script>
        <script type="text/javascript" src="http://api.map.baidu.com/library/AreaRestriction/1.2/src/AreaRestriction_min.js"></script>
这个ak 要写
    //将地图显示到ID=“container”里面中去
    var map = new BMap.Map("container");
        
    //centerAndZoom(百度翻译为:中心和缩放):根据经纬度确定中心点,后面的11是缩放倍数(至于是不是缩放倍数我不确定,反正效果是的)
    map.centerAndZoom(new BMap.Point(116.34148, 23.427623), 11);
        
    // 左上角,添加比例尺
    var top_left_control = new BMap.ScaleControl({
            anchor: BMAP_ANCHOR_TOP_LEFT
    });
    map.addControl(top_left_control);

    //添加地图类型控件
    map.addControl(new BMap.MapTypeControl({
    mapTypes: [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP, BMAP_HYBRID_MAP]
        }));
    map.enableScrollWheelZoom(true);
        
    //左上角,添加默认缩放平移控件
    var top_left_navigation = new BMap.NavigationControl();
    map.addControl(top_left_navigation);
//允许鼠标滚动放大缩小
map.enableScrollWheelZoom(true);
//初始化地图,设置中心点坐标和地图级别(重置)
map.centerAndZoom(point, 15);
//添加一个点击事件
marker.addEventListener("click", attributes);
//弹出框----->点击标注时,弹出一个框框,点击事件监听
        function attributes(e) {
            var p = e.target;
            var html = "<p style='text-align:center'>设备详情</p>"
            html += "<div class='' align='center'><table class='layui-table'  lay-skin='line'>";
            html += "<tr><td>设备名称:<span>照明控制柜#003</span></td></tr>"
            html += "<tr><td>隧道:<span>小北山1号隧道</span></td></tr>"
            html += "<tr><td>位置: <span>往惠来方向距隧道入口135米</span></td></tr>"
            html += "</table></div>";
            html += "<button class='layui-btn layui-btn-xs layui-btn-normal weizhi1'>位置分享</button>";
            var msgF = layer.open({
                type: 1, //页面层
                title: false,
                content: html,
                shadeClose: true,
                shade: 0.01,
                area: ["300px", "200px"],
                closeBtn: 0, //去除右上角的关闭按钮
            });
        }
显示一段距离,绿色显示:
var p1 = new BMap.Point(116.351904, 23.472569); //起始点
var p2 = new BMap.Point(116.376121, 22.944886); //结束点
var driving = new BMap.DrivingRoute(map, {
    renderOptions: {
        map: map,
        autoViewport: true
    },
    onPolylinesSet: function(routes) {
        searchRoute = routes[0].getPolyline(); //导航路线
        map.addOverlay(searchRoute);
    },
    onMarkersSet: function(routes) {
        map.removeOverlay(routes[0].marker); //删除起点
        map.removeOverlay(routes[routes.length - 1].marker); //删除终点
        }
});
  driving.setSearchCompleteCallback(function() {
    var plan = driving.getResults().getPlan(0);
   })
   driving.search(p1, p2);

 显示的这地段路线根据p1,p2为两端点,效果图如下:


 

还有一个,就是关于标注点如何改变颜色:

var marker = new BMap.Marker(new BMap.Point(point.lng, point.lat), {
                    // 指定Marker的icon属性为Symbol
                    icon: new BMap.Symbol(BMap_Symbol_SHAPE_POINT, {
                        scale: 1,//图标缩放大小
                        fillColor: "#1197D6",//填充颜色
                        fillOpacity: 0.8//填充透明度
                    })
                });
            map.centerAndZoom(point, 15);
            map.addOverlay(marker);
            map.enableScrollWheelZoom(true);
            //添加一个点击事件
            marker.addEventListener("click", attributes);
原文地址:https://www.cnblogs.com/a973692898/p/11940581.html