匹配长和&在半径范围内

时间:2011-04-13 11:50:00

标签: php mysql google-maps mapping latitude-longitude

我正在考虑使用我的地图坐标来允许基于位置的搜索,我不知道从哪里开始。

我有一个coordidinates数据库 - 当我进入郊区时,我想显示给定半径内的所有匹配。 (即搜索长/拉索的数据库,并返回搜索到的郊区长/纬半径的所有坐标)

我不确定如何实现这个或从哪里开始?

2 个答案:

答案 0 :(得分:1)

那真的取决于你使用的是什么数据库。 一般技术是使用一个使用公式的缩放器值函数,如:

distance = ACOS(SIN(lat1)*SIN(lat2)+COS(lat1)*COS(lat2)*COS(lon2-lon1))*6371

然后您可以编写如下查询:

select * 
from locations 
where mydistancefunction(lat1,lng1,locations.lat,locations.lng) < @radius

答案 1 :(得分:0)

您是否了解mysql spatial extensions?尝试在表格中创建空间列,即点然后使用空间扩展提供的功能,这样您就不会重新发明轮子