所以这可能有点难以展示,因为问题只是偶尔出现并且不可预测 - 希望当你查看这个问题时出现问题(或者,或者已经完全停止出现!)。
我们的网站上有一个Google地图实施,可在地图上显示分页搜索结果。当前页面的结果显示为常规Google地图标记(使用自定义图标 - 这些工作正常),但其他搜索结果在KML图层中显示为较小的标记。一个例子:
http://www.redflagdeals.com/in/verdun/map/
大标记是方形图像;小标记是彩色圆点。蓝色和紫色标记/点只是指不同类型的内容。在KML文件中,我们指定了两个样式,每个样式对应一种内容类型。除了指向不同引脚图像的Icon参考之外,这两个元素完全相同。这是一个生成KML文件的示例供参考:
大多数情况下,我们的地图完美地显示了大小标记。但有时候,部分或全部小针脚会显示没有自定义图标,而是会恢复为通用的蓝色Google标记图像。今天,以蓝色显示的自定义minipins被打破,而紫色的那些都很好。其他时候,蓝色和紫色都被打破了。
问题通常会自行解决,让我们对原因或解决方案毫无头绪。我唯一的理论是我们使用CDN来托管我们的标记图像,偶尔我们将新版本推送到CDN,同时更新所有文件名(因为我们在图像的URL中有CDN版本号)。也许当我们推出新的CDN版本,获得404并立即放弃时,谷歌可能正在请求一个或两个小图像。但这意味着Google会在相当长的时间内缓存KML图像(或缺少KML图像)。除此之外,我没有任何想法。
我们可以做些什么来防止这个问题在未来出现?
答案 0 :(得分:1)
我刚刚对此进行了测试,结果如下:
我确信Google会同时缓存KML文件和标记图像。 (当然他们会这样做,否则他们必须加载文件并在每个请求上创建新的图块)
因此,当您更改任何标记图像时,您必须更改KML文件中标记图像的URL。
您还必须更改应用程序内KML文件的网址(否则Google将无法识别修改后的图片网址)
将随机参数附加到URL
就足够了答案 1 :(得分:1)
参见这篇文章(具体评论#4)解释了自定义标记的缓存 http://code.google.com/p/gmaps-api-issues/issues/detail?id=3864