KML中的自定义图标偶尔会在Google地图中中断

时间:2012-03-01 22:59:06

标签: google-maps kml

所以这可能有点难以展示,因为问题只是偶尔出现并且不可预测 - 希望当你查看这个问题时出现问题(或者,或者已经完全停止出现!)。

我们的网站上有一个Google地图实施,可在地图上显示分页搜索结果。当前页面的结果显示为常规Google地图标记(使用自定义图标 - 这些工作正常),但其他搜索结果在KML图层中显示为较小的标记。一个例子:

http://www.redflagdeals.com/in/verdun/map/

大标记是方形图像;小标记是彩色圆点。蓝色和紫色标记/点只是指不同类型的内容。在KML文件中,我们指定了两个样式,每个样式对应一种内容类型。除了指向不同引脚图像的Icon参考之外,这两个元素完全相同。这是一个生成KML文件的示例供参考:

http://www.redflagdeals.com/in/verdun/map/?do=map_kml&longitude=-73.56895400000002&latitude=45.457064&order=deal_price&dir=asc&category_filter=0&content_filter=0&tag_filter=0&keyword=&page=1&show=deal%20coupon

大多数情况下,我们的地图完美地显示了大小标记。但有时候,部分或全部小针脚会显示没有自定义图标,而是会恢复为通用的蓝色Google标记图像。今天,以蓝​​色显示的自定义minipins被打破,而紫色的那些都很好。其他时候,蓝色和紫色都被打破了。

问题通常会自行解决,让我们对原因或解决方案毫无头绪。我唯一的理论是我们使用CDN来托管我们的标记图像,偶尔我们将新版本推送到CDN,同时更新所有文件名(因为我们在图像的URL中有CDN版本号)。也许当我们推出新的CDN版本,获得404并立即放弃时,谷歌可能正在请求一个或两个小图像。但这意味着Google会在相当长的时间内缓存KML图像(或缺少KML图像)。除此之外,我没有任何想法。

我们可以做些什么来防止这个问题在未来出现?

2 个答案:

答案 0 :(得分:1)

我刚刚对此进行了测试,结果如下:

我确信Google会同时缓存KML文件和标记图像。 (当然他们会这样做,否则他们必须加载文件并在每个请求上创建新的图块)

因此,当您更改任何标记图像时,您必须更改KML文件中标记图像的URL。

您还必须更改应用程序内KML文件的网址(否则Google将无法识别修改后的图片网址)

将随机参数附加到URL

就足够了

答案 1 :(得分:1)

参见这篇文章(具体评论#4)解释了自定义标记的缓存 http://code.google.com/p/gmaps-api-issues/issues/detail?id=3864