首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过google地图(使用PHP)获取距我当前位置10公里半径内的所有位置的纬度和经度

问通过google地图(使用PHP)获取距我当前位置10公里半径内的所有位置的纬度和经度
EN

Stack Overflow用户
提问于 2012-10-18 15:37:08
回答 4查看 38.5K关注 0票数 7

我是谷歌地图的新手。我有一个表,其中有所有的位置(超市的位置)与他们的纬度和经度的列表。

现在我想知道这些超市的所有可能位置(可能是纬度和经度),它们都在我当前位置的10公里半径内。

我不知道如何使用Google map ( php代码)来做到这一点。我应该使用什么Google地图API?任何建议,项目代码,信息都会对我有帮助

提前感谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-10-18 16:57:23

票数 16
EN

Stack Overflow用户

发布于 2013-10-16 02:35:03

您可以使用Mysql的以下查询来获取指定里程内的所有门店

代码语言:javascript
复制
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
票数 10
EN

Stack Overflow用户

发布于 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。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12949476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档