百度地圖動態添加

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
        body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微軟雅黑";}
        #allmap {width: 100%; height:90%; overflow: hidden;}
    #result {width:100%;font-size:12px;}
    dl,dt,dd,ul,li{
        margin:0;
        padding:0;
        list-style:none;
    }
    p{font-size:12px;}
    dt{
        font-size:14px;
        font-family:"微軟雅黑";
        font-weight:bold;
        border-bottom:1px dotted #000;
        padding:5px 0 5px 5px;
        margin:5px 0;
    }
    dd{
        padding:5px 0 0 5px;
    }
    li{
        line-height:28px;
    }
    </style>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=E4805d16520de693a3fe707cdc962045"></script>
    <script type="text/javascript" src="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.js"></script>
    <link rel="stylesheet" href="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.css" />
    <!--加載檢索信息窗口-->
    <script type="text/javascript" src="http://api.map.baidu.com/library/SearchInfoWindow/1.4/src/SearchInfoWindow_min.js"></script> 
    <link rel="stylesheet" href="http://api.map.baidu.com/library/SearchInfoWindow/1.4/src/SearchInfoWindow_min.css" />
    <script type="text/javascript" src="http://api.map.baidu.com/library/TextIconOverlay/1.2/src/TextIconOverlay_min.js"></script>
    <script type="text/javascript" src="http://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></script>
    <title>demo</title>
</head>
<body>
    <div id="allmap" style="overflow:hidden;zoom:1;position:relative;">    
        <div id="map" style="height:100%;-webkit-transition: all 0.5s ease-in-out;transition: all 0.5s ease-in-out;"></div>
    </div>
    <div id="result">
        <input type="button" value="獲取繪製的覆蓋物個數" onclick="alert(overlays.length)"/>
        <input type="button" value="清除所有覆蓋物" onclick="clearAll()"/>
    </div>
</body>
</html>
<script type="text/javascript">
    // 百度地圖API功能
    var map = new BMap.Map("map");
    var point = new BMap.Point(116.331398,39.897445); //中心點
    map.centerAndZoom(point,12); //設置中心點,縮放層級
    setTimeout(function(){
        map.setZoom(14);   
    }, 2000);  //2秒後放大到14級
    map.enableScrollWheelZoom(true);
    // 創建地址解析器實例
    var myGeo = new BMap.Geocoder();
    // 將地址解析結果顯示在地圖上,並調整地圖視野
    myGeo.getPoint("上海市徐彙區中山西路1515號", function(point){
        if (point) {
            map.centerAndZoom(point, 16);
            map.addOverlay(new BMap.Marker(point));
        }else{
            alert("您選擇地址沒有解析到結果!");
        }
    }, "上海市");
    //單擊獲取點擊的經緯度
    /*map.addEventListener("click",function(e){
        alert(e.point.lng + "," + e.point.lat);
    });*/
    
    map.enableScrollWheelZoom();  
    var overlays = [];
    var overlaycomplete = function(e){
        overlays.push(e.overlay);
    };
    var styleOptions = {
        strokeColor:"red",    //邊線顏色。
        fillColor:"red",      //填充顏色。當參數爲空時,圓形將沒有填充效果。
        strokeWeight: 3,       //邊線的寬度,以像素爲單位。
        strokeOpacity: 0.8,       //邊線透明度,取值範圍0 - 1。
        fillOpacity: 0.6,      //填充的透明度,取值範圍0 - 1。
        strokeStyle: 'solid' //邊線的樣式,solid或dashed。
    }
    //實例化鼠標繪製工具
    var drawingManager = new BMapLib.DrawingManager(map, {
        isOpen: false, //是否開啓繪製模式
        enableDrawingTool: true, //是否顯示工具欄
        drawingToolOptions: {
            anchor: BMAP_ANCHOR_TOP_RIGHT, //位置
            offset: new BMap.Size(5, 5), //偏離值
        },
        circleOptions: styleOptions, //圓的樣式
        polylineOptions: styleOptions, //線的樣式
        polygonOptions: styleOptions, //多邊形的樣式
        rectangleOptions: styleOptions //矩形的樣式
    });  
     //添加鼠標繪製工具監聽事件,用於獲取繪製結果
    drawingManager.addEventListener('overlaycomplete', overlaycomplete);
    function clearAll() {
        for(var i = 0; i < overlays.length; i++){
            map.removeOverlay(overlays[i]);
        }
        overlays.length = 0   
    }
    
    var MAX = 50;
    var markers = [];
    var pt = null;
    var i = 0;
    for (; i < MAX; i++) {
       pt = new BMap.Point(Math.random() * 40 + 85, Math.random() * 30 + 21);
       markers.push(new BMap.Marker(pt));
    }
    //最簡單的用法,生成一個marker數組,然後調用markerClusterer類即可。
    var markerClusterer = new BMapLib.MarkerClusterer(map, {markers:markers});
    markerClusterer.setGridSize(200);
    var myStyles = [{
    url:'imgs/map-mark.png',  //圖標路徑
    size: new BMap.Size(30, 27),  //圖標大小
    textColor: '#000',  //文字顏色
    textSize: 14  //字體大小
}];
    markerClusterer.setStyles(myStyles);
</script>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章