基于百度地图开发实践

//实现功能 添加点 拖动 添加点时鼠标样式变动等

<script type="text/javascript" src=" http://api.map.baidu.com/api?v=1.5&ak=56WEad9oOG1AB2YC2Z920rTM"></script>
<style>
        .anchorBL{display:none}
        #r-result{width:100%;}
        html{height:100%}
        body{height:100%;margin:0px;padding:0px}
        #allmap{height:100%}
</style>  
 <div id="allmap">  </div>


<script>
 // 百度地图API功能
 var map = new BMap.Map("allmap");
 var point = new BMap.Point(115.692255,40.226846);
 map.centerAndZoom(point, 11);
 map.setCurrentCity("北京");
 map.enableScrollWheelZoom();//启用滚轮放大缩小,默认禁用
        map.enableContinuousZoom(); //启用地图惯性拖拽,默认禁用
 
 var local = new BMap.LocalSearch(map, {
  renderOptions:{map: map}
 });
 
 function fsearch(){ //百度搜索功能
            var vv=document.getElementById("search").value;
            local.search(vv);
 }


//添加点JS
      function addpoint(){
            var flag= document.getElementById("dbflag").value;
            var tablename= document.getElementById("vtablename").value;
            if(flag==='' || flag===null||tablename===''||tablename===null){
                alert("请选择空间表");
                return;
            }
              var url="${ctx}/poiqueryservice/toaddspacedata?dbfalg="+flag+"&tablename="+tablename;
             $('#editFrame').attr("src",url);
           
            map.addEventListener("click",fmapclick);
            map.setDefaultCursor("crosshair"); //鼠标样式 十字型
          }
          function fmapclick(e){
               var flag= document.getElementById("dbflag").value;
               var tablename= document.getElementById("vtablename").value;
               add_overlay(e.point.lng , e.point.lat);
                 
          }
         
        function removeClick(){
            map.removeEventListener("click",fmapclick);
            map.setDefaultCursor("url('bird.cur')");
 }
         var addmarker;
        function add_overlay(x,y){
 if(addmarker!=null){
  remove_addoverlay();
  }
        addmarker = new BMap.Marker(new BMap.Point(x, y)); // 创建点
        map.addOverlay(addmarker);
        window.frames["editFrame"].fchildifm(x,y);
        $('#dlg').window('open');
        addmarker.enableDragging();//启用点拖动
        addmarker.addEventListener("dragend", function(e){
        var x=eval(e.point.lng);
        var y=eval(e.point.lat);
        window.frames["editFrame"].fchildifm(x,y);
        })
 }


       //清除覆盖物
 function remove_addoverlay(){
     map.removeOverlay(addmarker);
            map.setDefaultCursor("url('bird.cur')");
 }
        
  //修改点JS
       function falert(e){
        // alert(marker.getLabel().content);
        var marker=e.target;
        var id=marker.getLabel().content;
        var flag= document.getElementById("dbflag").value;
        var tablename= document.getElementById("vtablename").value;
        var url='${ctx}/poiqueryservice/getspacedatabyid?dbfalg='+flag+'&tablename='+tablename+'&id='+id;
        if($('#editFrame').attr("src")!==url){
            $('#editFrame').attr("src",url);
        }
        $('#dlg').window('open');
               
        }
 
 //添加覆盖物
 function add_point(id,x,y){
       /*
        var markerMenu=new BMap.ContextMenu();
 markerMenu.addItem(new BMap.MenuItem('编辑',falert));
        var marker = new BMap.Marker(new BMap.Point(x, y)); // 创建点
        var label = new BMap.Label(id,{offset:new BMap.Size(20,-10)})
        marker.setLabel(label);
        marker.addContextMenu(markerMenu);
        map.addOverlay(marker);
        */
     
 removeClick();
        var marker = new BMap.Marker(new BMap.Point(x, y)); // 创建点
       
        var label = new BMap.Label(id,{offset:new BMap.Size(20,-10)})
        marker.setLabel(label);
        marker.addEventListener("click", falert);
        map.addOverlay(marker);
        marker.enableDragging();//启动拖动
        marker.addEventListener("dragend", function(e){
        var x=eval(e.point.lng);
        var y=eval(e.point.lat);
        window.frames["editFrame"].fchildifm(x,y);
        })
 }
 //清除覆盖物
 function remove_overlay(){
     map.clearOverlays();
            removeClick();
 }     



</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值