`

百度地图多点+画连接线+数字标注

 
阅读更多

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html >
<head>
    <title>(按钮)</title>
</head>
<body >
    <div>
        <fieldset >
                     (附近11)
        </fieldset>
        <fieldset>
            <div style="min-height: 400px; width: 100%;" id="map">
            </div>
            <script type="text/javascript">
                var map; //Map实例
                //后台传过来
                var currentLat = 116.345555;
       var currentLon = 40.018661;
    var my ={ title: "我的位置"};
                var markerArr = [
                    { title: "1", point: "116.364531,40.057003"},
                    { title: "2",point: "116.340934,40.013401"},
                    { title: "3", point: "116.342213,40.041267"},
     { title: "4", point: "116.342223,40.042267"},
     { title: "5", point: "116.342233,40.043267"},
     { title: "6", point: "116.352243,40.044267"},
     { title: "7", point: "116.342253,40.045267"},
     { title: "8", point: "116.342263,40.046267"},
     { title: "9", point: "116.342273,40.047267"},
     { title: "10", point: "116.342283,40.087267"},
     { title: "11", point: "116.342293,40.097267"},
     { title: "12", point: "116.442203,40.007267"}
                ];
           
                function map_init() {
                     map = new BMap.Map("map");
                     //第1步:设置地图中心点,当前城市
                     var point = new BMap.Point(currentLat,currentLon);
                     //第2步:初始化地图,设置中心点坐标和地图级别。
                     map.centerAndZoom(point, 14);
                     //第3步:启用滚轮放大缩小
                     map.enableScrollWheelZoom(true);
                     //第4步:向地图中添加缩放控件
                     var ctrlNav = new window.BMap.NavigationControl({
                         anchor: BMAP_ANCHOR_TOP_LEFT,
                         type: BMAP_NAVIGATION_CONTROL_LARGE
                     });
                     map.addControl(ctrlNav);
                     //第5步:向地图中添加缩略图控件
                     var ctrlOve = new window.BMap.OverviewMapControl({
                         anchor: BMAP_ANCHOR_BOTTOM_RIGHT,
                         isOpen: 1
                     });
                     map.addControl(ctrlOve);
 
                     //第6步:向地图中添加比例尺控件
                     var ctrlSca = new window.BMap.ScaleControl({
                         anchor: BMAP_ANCHOR_BOTTOM_LEFT
                     });
                     map.addControl(ctrlSca);
                    
      
                     //第7步:绘制点 
                     for (var i = 0; i < markerArr.length; i++) {
                         var p0 = markerArr[i].point.split(",")[0];
                         var p1 = markerArr[i].point.split(",")[1];
                         var maker = addMarker(new window.BMap.Point(p0, p1), i);
                         addInfoWindow(maker, markerArr[i]);
                     }
      //绘制点
      var points = new Array();
      for (var i = 0; i < markerArr.length; i++) {
                         var p0 = markerArr[i].point.split(",")[0];
                         var p1 = markerArr[i].point.split(",")[1];
       var thePoint1 = new BMap.Point(p0, p1);
        points.push(thePoint1);
       }
      drawPolyline(map, points);
       
    // 添加信息窗口
                  function addInfoWindow(marker, poi) {
                         // marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
                          var label = new window.BMap.Label(poi.title, { offset: new window.BMap.Size(2, 1) });
                          marker.setLabel(label);
                          var clo="";
                          if("我的位置"==poi.title){
                           clo="#FF5782";
                          }else{
                           clo="#E6FED";
                          }
        label.setStyle({
                            color: "#fff",
                            fontSize: "16px",
                            backgroundColor: "0.05",
                            border: "0",
                            fontWeight: "bold"
                        });
                        //maps.addOverlay(lab1);
        
                          var info = new window.BMap.InfoWindow("<p style=’font-size:12px;lineheight:1.8em;color:"+clo+";’>" +poi.title+ "</p>"); // 创建信息窗口对象
                       marker.addEventListener("mouseover", openInfoWinFun);
                       var openInfoWinFun = function () {
                           this.openInfoWindow(info);
                       };
                  }
                }

                // 添加标注
                function addMarker(point, index) {
    index=11;
                    var myIcon = new BMap.Icon("http://api.map.baidu.com/img/markers.png",
                        new BMap.Size(23, 25), {
                            offset: new BMap.Size(10, 25),
                            imageOffset: new BMap.Size(0, 0 -  index * 25)
       
                        });
                    var marker = new BMap.Marker(point, { icon: myIcon });
                    map.addOverlay(marker);
                    return marker;
                } 
                //异步调用百度js
                function map_load() {
                    var load = document.createElement("script");
                    load.src = "http://api.map.baidu.com/api?v=1.4&callback=map_init";
                    document.body.appendChild(load);
                }
    
     /**
      * 画线
      * @param bMap
      * @param points
      */
     function drawPolyline(bMap, points) {
      if (points==null || points.length<=1) {
       return;
      }
      bMap.addOverlay(new BMap.Polyline(points, {
       strokeColor : "blue",
       strokeWeight : 3,
       strokeOpacity : 0.6
      })); // 画线
      
     }
    
                window.onload = map_load;
            </script>
        </fieldset>
    </div>
</body>
</html>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics