點擊百度地圖添加標註並獲取當前地理名稱

html部分:

<div id="allmap"></div>

<style type="text/css">
    body, html{width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微軟雅黑";}
  
</style>

js部分:

<script defer type="text/javascript">
    // 百度地圖API功能
    var x="";
    var y="";
    var map = new BMap.Map("allmap");
    var point = new BMap.Point(116.404, 39.915);
    map.centerAndZoom(point , 11);
    var marker = new BMap.Marker(point);  // 創建標註
    map.addOverlay(marker);              // 將標註添加到地圖中

    setTimeout(function(){
        map.setZoom(14);
    }, 1000);  //2秒後放大到14級
    map.enableScrollWheelZoom(true);   //縮放地圖

    map.addEventListener("click", showInfo);

    function showInfo(e){
        x=e.point.lng;   //獲取鼠標當前點擊的經緯度
        y=e.point.lat;
        if(x != "" && y != ""){
            clearAll();  //清除地圖上存在的標註
            var point = new BMap.Point(x,y);
            map.centerAndZoom(point);
             marker = new BMap.Marker(point);  // 創建新的標註
            map.addOverlay(marker);    //將標註添加到地圖上
        }else{
            map.centerAndZoom("北京", 12);
        }
   var point = new BMap.Point(x,y);  //獲取當前地理名稱
   var gc = new BMap.Geocoder();
   gc.getLocation(point, function(rs){
       var addComp = rs.addressComponents;
       alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
     });
} function clearAll(e){ map.removeOverlay(marker); }</script>


樣式截圖:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章