<!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>