作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在尝试将动态 kml 添加到 google earth。但我们在一种情况下失败了。
代码:
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 .但是 test.kml
文件正在更新新值。那么,我们如何从 google earth 中删除 kml?
帮助将不胜感激。
最佳答案
fetchKml 我相信使用浏览器来获取文件。除非另有说明,否则它通常会缓存文件。
您可以安排服务器告诉浏览器它无法缓存文件 - 使用 HTTP header 。取决于您的服务器如何设置。
... 或者只是安排 url 每次都更改。
var url = 'test.kml?rnd='+Math.random();
或类似的。服务器很可能会忽略伪造的参数。但由于 URL 已更改,浏览器将不会有缓存版本。
关于javascript - 如何将动态 kml 添加到谷歌地球?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8500401/
我是一名优秀的程序员,十分优秀!