我是谷歌地图的新手。我有一个表,其中有所有的位置(超市的位置)与他们的纬度和经度的列表。
现在我想知道这些超市的所有可能位置(可能是纬度和经度),它们都在我当前位置的10公里半径内。
我不知道如何使用Google map ( php代码)来做到这一点。我应该使用什么Google地图API?任何建议,项目代码,信息都会对我有帮助
提前感谢
发布于 2012-10-18 16:57:23
发布于 2013-10-16 02:35:03
您可以使用Mysql的以下查询来获取指定里程内的所有门店
select * from stores where lat!='' and lng!='' and ( 3959 * acos( cos( radians(" . $centerpoints['lat'] . ") ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(" . $centerpoints['lng'] . ") ) + sin( radians(" . $centerpoints['lat'] . ") ) * sin( radians( lat ) ) ) ) < " . $distanceInMile发布于 2012-10-18 15:53:08
https://developers.google.com/maps/articles/phpsqlsearch_v3看一下上面的内容。应该会让你有个好主意。
要在标记表中查找在给定纬度/经度的特定半径距离内的位置,可以使用基于哈维正弦公式的SELECT语句。哈维正弦公式通常用于计算球面上两对坐标之间的大圆距离。维基百科给出了一个深入的数学解释,关于这个公式的一个很好的讨论,因为它与编程有关,在Movable的网站上。
下面的SQL语句将查找距离37,-122坐标25英里范围内最近的20个位置。它根据该行的纬度/经度和目标纬度/经度计算距离,然后只请求距离值小于25的行,按距离对整个查询进行排序,并将其限制为20个结果。要按公里而不是英里进行搜索,请将3959替换为6371。
https://stackoverflow.com/questions/12949476
复制相似问题