是否有一种使用Google的方法,可以在给定的半径(英里)内找到所有红色气球点(固定在我的google地图上的地址)?
例如..。
网络上是否有免费的学习材料可以帮助我建立这样的东西?
我已经阅读了整个上午的谷歌地图api的东西,没有找到任何例子可以提供这一点。
谢谢!
发布于 2012-07-27 17:57:48
下面是您需要执行的两个高级步骤:
1)您想要转换该邮政编码(或多种形式的地址!)使用Geocoder转到经纬度坐标。
2)动态创建对脚本的GET请求,根据用户输入的距离(5英里、10英里等)查询数据库。就像这样:
var searchUrl = 'phpsqlajax_search.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius;请看我对这个相关问题的回答,这样您就可以输入用户的输入并对地址进行地理编码:Store locatore, how to use/input my postion?
Google提供了大量的文档,说明如何在数据库中找到与某个纬度和经度坐标最近的项。它可以在这里找到:v3
注意:文档使用PHP、Javascript和MySQL。
发布于 2012-07-27 17:33:17
当你只需要一个近似和一个快速的结果,你也可以尝试一个空间填充曲线,即空间索引。例如,从xkcd漫画书中查找互联网地图。它使用希尔伯特曲线从互联网上打印地图。然后,你可以使用曲线转换地理位置和放松最近的邻居搜索。在许多具有点数据类型和空间索引的数据库引擎中,都使用了相同的曲线。
这里有一个javascript曲线:https://github.com/chrisdew/jshilbert。这里有一个关于空间索引的博客:http://blog.notdot.net/2009/11/Damn-Cool-Algorithms-Spatial-indexing-with-Quadtrees-and-Hilbert-Curves。我编写了一个php类hilbert-曲线@ phpclasses.org。它还使用了墨卡托投影。
https://stackoverflow.com/questions/11692253
复制相似问题