我已经搜索了整个网络和 SO,但我无法弄清楚这一点。
这是问题所在:
我正在使用来自 jquery-ui-map 站点的以下演示来加载 JSON 文件:
http://jquery-ui-map.googlecode.com/svn/trunk/demos/jquery-google-maps-json.html
它可以很好地加载我的标记,但我需要每 30 秒刷新一次它的内容并获取新的标记。
起初我以为我会再次调用该函数,但这将标记留在那里。经过一些研究,我发现我需要清除标记(在 V3 上并不容易,但我能够做到),但问题是我无法再次显示标记。
如果我使用破坏功能,那么我可以重新加载新标记并删除旧标记,但这会导致地图闪烁。当我尝试清除标记时,不会显示新标记。
任何帮助是极大的赞赏。
下面是我的代码:
<script type="text/javascript">
function mapTest() {
$('#map_canvas').gmap('destroy');
//clearMap();
demo.add(function() {
$('#map_canvas').gmap({'disableDefaultUI':true, 'callback': function() {
var self = this;
$.getJSON( 'json/demo.json?'+ new Date().getTime(), function(data) {
$.each( data.markers, function(i, marker) {
self.addMarker({ 'position': new google.maps.LatLng(marker.latitude, marker.longitude), 'bounds':true } ).click(function() {
self.openInfoWindow({ 'content': marker.content }, this);
});
});
});
}});
}).load();
}
function clearMap(){
$('#map_canvas').gmap('clear', 'markers');
}
mapTest();
setInterval(mapTest, 30000 );
</script>
干杯。