能在百度地图上动态更新自建的label的内容?
sxbug 2016-11-16 10:36:50 我在地图上画了图标和文本,能不能只刷新文本的内容,怎么实现?
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak="></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
<script type="text/javascript" src="http://api.map.baidu.com/library/DistanceTool/1.2/src/DistanceTool_min.js"></script>
<script type="text/javascript">
var map;
$(document).ready(function(){
map = new BMap.Map("IWRGNMAP");
map.addControl(new BMap.MapTypeControl());
map.enableScrollWheelZoom(true);
map.centerAndZoom('株洲',14);
});
function addPoints(objs){ /*这个添加内容的函数是正常的*/
map.clearOverlays();
$.each(objs, function(i,key){
var x=key.x;
var y=key.y;
var pt = new BMap.Point(x,y);
var mylabel = new BMap.Label( objs[i].labels, new BMap.Size(80, 10), { Offset: new BMap.Size(0, 10) });
var marker = new BMap.Marker(pt,{label:mylabel});
map.addOverlay(marker);
var myIcon = new BMap.Icon(objs[i].img, new BMap.Size(120,90));
var marker = new BMap.Marker(pt,{icon:myIcon});
map.addOverlay(marker);
var infoWindow = new BMap.InfoWindow(objs[i].content);
marker.addEventListener("click", function(){
this.openInfoWindow(infoWindow);
});
map.addOverlay(marker);
map.centerAndZoom(pt ,14);
});
}
function refreshPoints(objs){ /*我想用这个函数刷新label的文本内容 现在的问题是 刷新数据的时候,地图总在动*/
map.clearOverlays();
$.each(objs, function(i,key){
var x=key.x;
var y=key.y;
var pt = new BMap.Point(x,y);
var mylabel = new BMap.Label( objs[i].labels, new BMap.Size(80, 10), { Offset: new BMap.Size(0, 10) });
var marker = new BMap.Marker(pt,{label:mylabel});
map.addOverlay(marker);
var myIcon = new BMap.Icon(objs[i].img, new BMap.Size(120,90));
var marker = new BMap.Marker(pt,{icon:myIcon});
map.addOverlay(marker);
var infoWindow = new BMap.InfoWindow(objs[i].content);
marker.addEventListener("click", function(){
this.openInfoWindow(infoWindow);
});
map.addOverlay(marker);
/*map.centerAndZoom(pt ,14);*/
});
}
</script>