0

我正在尝试解析并将我的谷歌纬度 KML 标记添加到诺基亚 HERE 地图中。它只能在我的 IE 9 笔记本电脑上本地工作,但不会在 Safari 5.7、Chrome 27(本地或我的 Web 服务器上)中添加标记。有任何想法吗?

kml.parseKML("http://latitude.google.com/latitude/apps/badge/api?user=-1099057214648547758&type=kml");
4

1 回答 1

0

如果 KML 在某些浏览器上加载成功,而在其他浏览器上加载不成功,那么这几乎可以肯定是由于有问题的浏览器试图阻止跨脚本域攻击。

你有三个选择

  • 将 KML 文件托管在与读取文件的 JavaScript 相同的域中 - 例如,如果您拥有example.com,则 JavaScript 应托管在example.com其中,而 KML 应托管在example.com

  • 设置 KML 解析器以检索文件example.com 并使用代理解决方案(例如此php 示例)真正从其他地方检索文件

  • 在托管 KML 文件的服务器上启用CORS ,并使用 AJAX 加载 KML,然后使用本示例parse()中所示的方法

如果 KML从未成功加载,您应该检查文件是否有效,以及显示地图的 HTML 在语法上是否正确。

于 2013-04-24T10:46:14.820 回答