我见过很多人在谷歌地图讨论小组上对此问题进行了富有成效的讨论,所以我想我会尝试一下。
目标:在Google Maps API中制作可搜索的地图,该地图可在输入用户地址时返回数据集中的“附近”结果。
我的方法到目前为止:我开始将我的数据点放入KML,因为它既a)易于被Google Maps API使用,又b)XML文档,并且易于遍历。据我了解,Geocode方法是API的任何类型的用户地理信息的基本入口点。我想我必须让Geocode返回Lat和Long,然后使用Haversine公式计算此点与KML文件中每个Placemark之间的距离,最后显示距用户Lat和Long的最短距离点。 / p>
我在那里看到了一些运行Haversine计算的Javascript,但我不清楚如何让API读取KML文件中的所有数据点。 Google put up a helpful doc about how to do this with PHP and a MySQL db,但对KML情况没有多大帮助。
那么:如何让Google Maps API搜索和解析KML?
谢谢!
答案 0 :(得分:1)
您无法在Maps API V3中访问KML中的元素。您所能做的就是下载您的KML,使用XMLHttpRequest并像任何其他XML一样进行解析和遍历。然后计算距离,您可以从代码中显示您的标记。