百度地图API怎样实现拖动标注实时更新位置数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度地图API怎样实现拖动标注实时更新位置数据相关的知识,希望对你有一定的参考价值。
在百度地图的右上角,点击“地图API”。在地图API页面,把鼠标移动到“工具”菜单项,在下拉菜单中选择“坐标拾取工具”。
比如在搜索栏输入“百度大厦”点击搜索,就会在地图上出现相应的标记,点击你要找的某一个,就能看到相应的坐标。
同理,把找到的坐标输入到搜索栏,把后面“坐标反查”给勾上,点击搜索,就会对应的坐标打上标记,同时会有相应地址在最右边。
同时,把鼠标在地图上滑行,就可以看到,鼠标滑到每一个地方,都会对应显示坐标。 参考技术A 查看百度地图api文档,调用此接口
百度地图api不能为每个标注添加自己的事件处理吗?
var map = new BMap.Map("container");
var point;
var myArray=new Array()
for(var i=1;i<10;i++)
point = new BMap.Point(116.404+(i/1000), 39.915+(i/1000));
myArray[i]=point;
map.centerAndZoom(point, 15);
map.addControl(new BMap.NavigationControl()); //导航
var marker;
for(var j=1;j<10;j++)
marker = new BMap.Marker(myArray[j]); // 创建标注
marker.addEventListener("click",function()
marker.openInfoWindow(new BMap.InfoWindow(i));
//this.openInfoWindow(new BMap.InfoWindow(i)); 这样效果一样的
);
marker.setLabel(new BMap.Label("我是百度,呵呵",offset:new BMap.Size(10,-40)));
map.addOverlay(marker);
// 将标注添加到地图中
显示信息窗口值都为10,说明前面9个marker的事件被覆盖,怎样才能为每个marker添加自己的事件处理内容而不被其他的覆盖呢?
var map = new BMap.Map("container");
var point;
var myArray=new Array()
for(var i=1;i<10;i++)
point = new BMap.Point(116.404+(i/1000), 39.915+(i/1000));
myArray[i]=point;
map.centerAndZoom(point, 15);
map.addControl(new BMap.NavigationControl()); //导航
var marker;
for(var j=1;j<10;j++)
addMarker(j);
// 将标注添加到地图中
function addMarker(k)
marker = new BMap.Marker(myArray[k]); // 创建标注
map.addOverlay(marker);
var infoWindow = new BMap.InfoWindow(k); // 创建信息窗口对象
marker.addEventListener("click", function()
this.openInfoWindow(infoWindow);
);
marker.setLabel(new BMap.Label("我是百度,呵呵",offset:new BMap.Size(10,-40)));
参考技术A for(var j=1;j<10;j++)
marker = new BMap.Marker(myArray[j]); // 创建标注
var n = i;
marker.addEventListener("click",(function()
return function(n)
marker.openInfoWindow(new BMap.InfoWindow(n));
)());
以上是关于百度地图API怎样实现拖动标注实时更新位置数据的主要内容,如果未能解决你的问题,请参考以下文章