地图网点布局

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            #allmap {
                 600px;
                height: 560px;
                float: left;
            }
            
            ul {
                 500px;
                height: auto;
                float: right;
            }
            
            li {
                 100%;
                height: auto;
                line-height: 20px;
            }
        </style>

    </head>

    <body>
        <div class="sale_map" id="allmap"></div>
        <ul class="sale_mapcon">
            <li>A点</li>
            <li>B点</li>
            <li>C点</li>
            <li>D点</li>
        </ul>
        


    </body>
    <script src="js/jquery-1.11.0.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=Cu63HGWRYkNRRPmy3SurQmOO"></script>
    <script type="text/javascript">
        
        //        //销售网点地图信息,
        var jdata = {
            "map": [{
                "x": 121.24621,
                "y": 31.379862,
                "info": "<div class='clearfix infocon'><div class='infof'><h2>A点</h2><h3>地址:A点地址</h3><h4>服务电话:<span>A点电话</span></h4></div></div>"
            }, {
                "x": 121.442113,
                "y": 31.183306,
                "info": "<div class='clearfix infocon'><div class='infof'><h2>B点</h2><h3>地址:B点地址</h3><h4>服务电话:<span>B点电话</span></h4></div></div>"
            }, {
                "x": 121.558102,
                "y": 31.221761,
                "info": "<div class='clearfix infocon'><div class='infof'><h2>C点</h2><h3>地址:C点地址</h3><h4>服务电话:<span>C点电话</span></h4></div></div>"
            }, {
                "x": 121.20496,
                "y": 31.040158,
                "info": "<div class='clearfix infocon'><div class='infof'><h2>D点</h2><h3>地址:D点地址</h3><h4>服务电话:<span>D点电话</span></h4></div></div>"
            }]
        };
        allmap(jdata);
        console.log(this.jdata.map)
        function allmap(jdata) {
            // 百度地图API功能
            var data = [];
            for(i = 0; i < jdata["map"].length; i++) {
                var da = [jdata["map"][i].x, jdata["map"][i].y, jdata["map"][i].info];
                data.push(da);
            }
            var x = jdata["map"][0].x;
            var y = jdata["map"][0].y;
            map = new BMap.Map("allmap");
            map.centerAndZoom(new BMap.Point(x, y), 10);
            var data_info = data;
            var opts = {
                 360, // 信息窗口宽度
                height: 90, // 信息窗口高度
                title: "", // 信息窗口标题
                enableMessage: true //设置允许信息窗发送短息
            };
            for(var i = 0; i < data_info.length; i++) {
                var marker = new BMap.Marker(new BMap.Point(data_info[i][0], data_info[i][1])); // 创建标注
                var content = data_info[i][2];
                map.addOverlay(marker); // 将标注添加到地图中

                addClickHandler(content, marker, i);
            }
            map.enableScrollWheelZoom(true);

            function openInfo(content, e) {
                var p = e.target;
                var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);
                var infoWindow = new BMap.InfoWindow(content, opts); // 创建信息窗口对象 
                map.openInfoWindow(infoWindow, point); //开启信息窗口
            }

            function addClickHandler(content, marker, abc) {
                //1. 坐标点鼠标移入移除效果
                marker.addEventListener("mouseover", function(e) {
                    var label = new BMap.Label(abc, {
                        offset: new BMap.Size(25, -5)
                    });
                    label.setStyle({
                         "60px",
                        color: '#fff',
                        background: '#c0191f',
                        border: '1px solid "#c0191f"',
                        borderRadius: "5px",
                        textAlign: "center",
                        height: "26px",
                        lineHeight: "26px"
                    });
                    marker.setLabel(label);

                });
                marker.addEventListener("mouseout", function(e) {
                    var label = this.getLabel();
                    label.setContent(""); //设置标签内容为空
                    label.setStyle({
                        border: "none",
                         "0px",
                        padding: "0px"
                    }); //设置标签边框宽度为0
                });

                //2.坐标点点击效果
                marker.addEventListener("click", function(e) {
                    openInfo(content, e);
                    //获取marker的位置
                    var p = marker.getPosition();
                    map.centerAndZoom(new BMap.Point(p.lng, p.lat), 16);
                    for(j = 0; j < data.length; j++) {
                        if(data[j][0] == p.lng) {
                            $('.sale_mapcon li').eq(j).addClass("on").siblings().removeClass("on");
                        }

                    }
                });

            }
            //导航点击效果
            $('.sale_mapcon li').on('click', function(e) {
                var cindex = $(this).index();
                $(this).addClass("on").siblings().removeClass("on");
                var x = data[cindex][0]; //x
                var y = data[cindex][1]; //y
                var point = new BMap.Point(x, y);
                map.centerAndZoom(new BMap.Point(x, y), 16);
                var infoWindow = new BMap.InfoWindow(data[cindex][2], opts); // 创建信息窗口对象 
                map.openInfoWindow(infoWindow, point); //开启信息窗口
            });

        }
    </script>

</html>
原文地址:https://www.cnblogs.com/520yh/p/12505524.html