重新加载页面时,Kml图层不会更新

时间:2012-08-29 10:01:00

标签: javascript google-maps kml

[编辑]似乎问题来自谷歌地图需要一些时间来更新KML链接...我不确定,但最终,它的工作... [/编辑]

我在此网站上嵌入了现有的公共谷歌地图:http://www.ridetheflavour.fr

以下是公开地图的链接:https://maps.google.fr/maps/ms?msa=0&msid=211027213468691902621.0004c8616605648d245b2

如您所见,网站嵌入式地图的标记与公共谷歌地图标记不匹配。看来这不是浏览器缓存的问题......

以下是我正在使用的javascript代码段(Google map API V3):

var mapOptions = {
          center: new google.maps.LatLng(24.797409,-5.449219),
          zoom: 3,
          mapTypeId: google.maps.MapTypeId.TERRAIN,
          overviewMapControl: false,
          streetViewControl: false
        };
var map = new google.maps.Map(document.getElementById("map_canvas"),
            mapOptions);
var georssLayer = new google.maps.KmlLayer('https://maps.google.fr/maps/ms?ie=UTF8&authuser=0&msa=0&output=kml&msid=211027213468691902621.0004c8616605648d245b2');
georssLayer.setMap(map);

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:19)

Google的服务器会在一段时间内缓存KML内容。要强制呈现的KML更新,请将缓存清除参数添加到URL。我通常使用日期/时间的函数,如果我需要以编程方式进行,或者如果它只是一次编辑手册?a = 0并在我进行更改时递增它。

这样的事情(如果你在URL中没有任何其他查询参数):

 var URL = filename+"?dummy="+(new Date()).getTime();

答案 1 :(得分:0)

或者您可以进一步简化它并使用:

var URL =' [你的kml url here]& ver =' + Date.now();

var georssLayer = new google.maps.KmlLayer(URL);