我们正试图将动态kml添加到google earth.But我们在一种情况下失败了。
CODE:
var currentKmlObject = null;
function loadkmlGE(){
if (currentKmlObject != null) {
ge.getFeatures().removeChild(currentKmlObject);
currentKmlObject = null;
}
var url = 'test.kml';
google.earth.fetchKml(ge, url, finished);
}
function finished(kmlObject) {
if (kmlObject) {
currentKmlObject = kmlObject;
ge.getFeatures().appendChild(currentKmlObject);
} else {
setTimeout(function() {
alert('Bad or null KML.');
}, 0);
}
}
当我们点击按钮时,我们正在调用loadkmlGE()
函数。我们可以在google earth上第一次获得kml。如果我们第二次点击,那么我们就不会在google earth上获得kml。但是{{1文件正在更新新值。那么,我们如何从google earth中删除kml?
帮助将不胜感激。
答案 0 :(得分:3)
fetchKml我相信使用浏览器来获取文件。除非另有说明,否则它通常会缓存文件。
您可以安排服务器告诉浏览器它无法缓存文件 - 使用HTTP标头。取决于您的服务器如何设置它。
...或者只是安排每次更改的网址。
var url = 'test.kml?rnd='+Math.random();
或类似的。服务器可能会忽略伪造的参数。但是,由于URL已更改,浏览器将不会有缓存版本。