2

我看到很多人在 Google 地图讨论组上询问这个问题以进行富有成效的讨论,所以我想我会在这里尝试。

目标:在 Google Maps API 中制作可搜索的地图,当输入用户地址时,该地图可以从数据集中返回“附近”结果。

到目前为止,我的方法是:我首先将我的数据点放入 KML,因为它既 a) 很容易被 Google Maps API 使用,b) 又是一个 XML 文档,而且很容易遍历。据我了解,Geocode 方法是 API 的任何类型用户地理信息的基本入口点。我想我必须让 Geocode 返回 Lat 和 Long,然后使用 Haversine 公式计算该点与 KML 文件中每个 Placemark 之间的距离,最后显示该点与用户的 Lat 和 Long 的最短距离。

我已经看到了一些运行 Haversine 计算的 Javascript,但不清楚如何让 API 读取 KML 文件中的所有数据点。Google 提供了一个有用的文档,介绍如何使用 PHP 和 MySQL db 执行此操作,但对 KML 情况没有太大帮助。

那么:如何让 Google Maps API 搜索和解析 KML?

谢谢!

4

1 回答 1

1

您无法在 Maps API V3 中访问 KML 内的元素。您所能做的就是下载您的 KML,使用 XMLHttpRequest 并像任何其他 XML 一样解析和遍历。然后计算距离,您可以从代码中显示您的标记。

于 2011-02-15T16:41:26.010 回答