【发布时间】:2015-08-08 02:44:46
【问题描述】:
我一直在开发一个小 ember 应用程序,它从本地报纸 API 加载文章并以漂亮的布局呈现。由于这些文章都是关于旅游目的地的,因此导航是基于在页面背景中带有标记的大地图。 最初我是从一张传单地图开始的。为每篇文章添加一个标记是没有问题的,因为我知道它们的坐标,因为它们与每篇文章一起保存并且可以通过 API 访问。
当我意识到一些作者将小型 Goolge 地图嵌入到他们的副本中时,情况变得更加复杂,并带有漂亮网站、酒吧等的标记。由于我不想在传单地图上显示谷歌地图,所以我正在搜索从谷歌地图获取标记数据并在我的传单上使用它的方法。我最终使用的解决方案非常疯狂,但实现了我所希望的:我意识到对 Google 地图嵌入 URL 的 HTTP 请求,请求参数“输出”设置为“kml”,得到了一个 KML/XML 文件与地图一起使用的 KML 图层的所有数据。为了规避跨域请求的问题,我通过 Yahoo 的 YQL 服务间接请求了 KML 数据,该服务也将数据转换为 JSON。
一切都很好。直到没有。自从对 API 进行了最近的更改(尤其是关于 KML 的内容),我的请求返回了 KMZ(压缩的 KML)数据。当然,无论是 YQL 转换还是我的 Ember 应用程序都无法处理现在的二进制数据。
似乎没有任何方法可以让我再次获得未压缩的数据。是否至少有一种方法可以制作我的主地图——现在也是谷歌地图——从另一个由嵌入 url 标识的地图加载 kml 图层?欢迎任何提示并非常感谢。谢谢!
【问题讨论】:
标签: javascript google-maps google-maps-api-3 kml