我有一个网站,我已经创建出售本地物品,如果免费供所有人使用。但我现在已经遇到了一个小问题!现在,人们形成了更远的距离,我希望他们能够通过距离他们的距离搜索和点亮所有物品,并且/或者查看他们区域中的所有物品。按距离对结果列表进行排序
我一直在收集每个人的邮政编码并将它们转换为东经和北经的坐标,而不是纬度经度。
创建一个新的recodset在飞行中做最好的方式做距离calc然后按距离排序还是有更好的方式,将使用较少的资源在网站上?
下面是答案
strSQL = "SELECT *, (3959 * acos(cos(radians(" & strMyLat &
")) * cos(radians(Latitude)) * cos(radians(Longitude) - radians(" & strMyLng &
")) + sin(radians(" & strMyLat &
")) * sin(radians(Latitude)))) AS distance FROM TABLE WHERE HAVING distance < 3;" '## 3 Miles
我一直想知道很长一段时间。好的问题+1 –
就我个人而言,我更喜欢纬度/经度坐标,因为那些通常更“标准”(特别是通过诸如各种基于网络的地图之类的东西进行常见曝光)。另外,根据电网规模,您可能会失真。你的数据库后端是什么?有些RDBMS具有内置的地理类型(或扩展),因此您可以利用数据库的全部功能来执行选择/排序。 –
这是一个使用PHP tho的类似帖子:http://stackoverflow.com/questions/2296087/using-php-and-google-maps-api-to-work-out-distance-between-2-post-codes-英国 – Kaf