您的位置:首页 > 其它

基于百度地图开发实践

2015-07-14 14:40 337 查看
//实现功能 添加点 拖动 添加点时鼠标样式变动等

<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: