您好 我在KML性能方面遇到了一些问题。有时,KML标记仅在重新加载后出现,这可能与谷歌缓存结果有关。我认为需要更好的解决方案,例如在更大的缩放级别上显示区域的总标记,然后对具有更多缩放的级别更详细。这样的解决方案是否可行,如果可行,怎么做?您能想到我可以通过其他方式改善KML地图的表现吗?链接为http://www.koolbusiness.com,KML文件为http://www.koolbusiness.com/list.kml
我可以将KML文件加载到maps.google.com中,但没有问题,但是当我尝试在自定义地图上显示它时,显示有时无法加载。 提前感谢任何建议。
更新:我已更新为使用带zip压缩的KMZ文件。该文件可通过http://www.koolbusiness.com/list.kmz获取,来源和更多信息可在http://montao.googlecode.com
获取答案 0 :(得分:2)
不知道它是否会影响性能,但似乎需要为kml文件配置mime类型。 http://code.google.com/apis/kml/documentation/kml_tut.html#kml_server
您是否尝试将kml文件压缩为kmz文件?您可以使用zip程序执行此操作,只需调用kmz文件。
您在地标中重复样式元素,但您也可以在doucment元素下创建它们,然后只使用id引用它们。 http://code.google.com/apis/kml/documentation/kmlreference.html#style
答案 1 :(得分:1)
我不确定你是否已经改变了KML以符合之前的一些建议但是......
关于在缩放区域中显示总标记的解决方案的问题: 我想你可以为每个缩放级别,检查地图的边界,然后只显示在该边界有坐标的标记。您可能必须编写某种函数来检查它是否在边界内。我不知道有什么方法可以将KML文件中的标记作为对象检索,除非您使用客户端解析器手动解析KML。
为了帮助确定标记无法加载的原因,请尝试使用FireBug来确定对Google服务器的请求。并查看返回的响应类型可能会为您的问题提供更多答案。我相信你应该寻找的是KmlOverlayService。
希望有所帮助。