1

我使用 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 调用之前清理地图中的对象?

4

1 回答 1

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 + '');
} 
于 2013-09-13T13:05:07.190 回答