[编辑]似乎问题来自谷歌地图需要一些时间来更新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);
非常感谢任何帮助。
答案 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);