我使用geoXML向地图添加许多多边形和点。我有基于相关表单中的更改动态生成的KML文件。
...
function xmldata(center,zoom,objects) {
var myParser = new geoXML3.parser({map: map, zoom: false});
myParser.parse('http://localhost/private/infofly/misc/nearest.php?zoom=' + zoom + '&coordinates=' + center + '&' + objects + '');
}
...
效果很好,但旧的KML记录在更新后仍保留在地图中。如何在每次新的AJAX调用之前清理地图中的对象?
答案 0 :(得分:3)
这应该隐藏先前版本中的所有对象:
var myParser=null; // global myParser reference (outside of any function)
function xmldata(center,zoom,objects) {
if (myParser) myParser.hideDocument();
myParser = new geoXML3.parser({map: map, zoom: false});
myParser.parse('http://localhost/private/infofly/misc/nearest.php?zoom=' + zoom + '&coordinates=' + center + '&' + objects + '');
}