基于百度地图开发实践
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>
<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>
相关文章推荐
- HDU 1075 What Are You Talking About
- nc eclipse stadio编译错误怎么办
- 11.字符介绍
- [LeetCode] Binary Tree Level Order Traversal II
- Android命令行工具logcat详细用法!
- 设计模式之Interpreter模式(笔记)
- 有关H.264中NAL的一些疑难点的解释
- 保留小数
- 嵌入式Linux驱动开发案例流程--LED驱动
- ios多线程
- Centos7安装mysql5(linux第二篇记录)
- BOM相关函数
- iOS开发中git分支创建和管理
- Quick-Cocos2d-x 3.3绑定自定义类至Lua(四)使用绑定C++至Lua的自定义类
- Http协议详解
- BigDecimal.setScale 处理java小数点
- 概率dp
- HDU 1240 Asteroids!
- spring接口用户超时验证
- 决策