【问题标题】:Center map based on data from KML [closed]基于 KML 数据的中心地图 [关闭]
【发布时间】:2012-10-24 04:19:49
【问题描述】:

我在地图上显示来自后端生成的 kml 提要的一些数据,我希望能够根据来自 KML 信息窗口(描述)的数据控制地图

例如,我有一个来自 KML 中某个点的信息窗口,它汇总了所有数据,我想点击一个链接(例如名称),这将使地图居中到某个纬度、经度。

这可能吗,或者什么是最好的方法。

【问题讨论】:

  • 您是否在询问是否可以向 infoWindow 添加链接,以使地图以包含在 infowindow 中显示的数据中的位置为中心?还是要根据kml中的信息添加外部链接(a clickable sidebar)?
  • @geocodezip 谢谢,也可以是一面,我从 php 构建了一个 kml,在构建完所有地标之后,我添加了最后一个带有点摘要的内容(或多或少是侧边栏的内容) 但都在 kml 内。检查此链接goo.gl/aj6mG 并单击!标记有我要缩放的摘要,将地图居中。
  • @geocodezip 我将 kml 添加到您的脚本中,我可以看到 kml goo.gl/QfzyV 但看不到侧边栏,我该如何构建侧边栏?对我来说是一个有趣的方法......谢谢
  • 您需要将脚本复制到您的服务器(或use a proxy)。 geoxml3 受 XmlHttpRequest 同域限制。
  • 谢谢,将复制到我的网站进行测试..

标签: javascript google-maps-api-3 kml


【解决方案1】:

在使用 KML 信息创建链接时,我只需添加两个属性(了解您的 KML 数据中确实有 lat/lng 坐标)。

例如:

<a href='#' class='kml-link' data-lat='12.3456' data-lng='23.4567'>Click me to center on KML point</a>

然后执行以下操作:

$('.kml-link').click(function () {

    var latLng = new google.maps.LatLng($(this).attr('data-lat'), $(this).attr('data-lng'));
    map.setCenter(latLng);
});

希望这会有所帮助!

【讨论】:

  • 这是使用 jQuery。如果您需要一个简单的 javascript 示例,请告诉我。
  • 谢谢你的回答 MrUpsidown,我忘了说 kml 是覆盖在地图上的,不是在客户端解析的。所以链接应该加在kml上吧?我还没有将 jquery 添加到地图中,但我想只是添加脚本?,我很想有一个例子再次感谢
  • 您在哪里创建了这些链接?
  • 这里是当前kml的链接goo.gl/aj6mG点击 你会看到我想添加链接的数据.. 谢谢。
  • 嗯,是的,那么您在哪里创建“摘要”表?使用我上面提出的技术来创建链接并将它们放置在该表中您想要的位置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多