通过移动网络查找当前的大致位置邮政编码

时间:2013-05-01 11:44:09

标签: php html5 mobile

到目前为止,我的搜索工作毫无结果,我所能找到的只是商业服务。我需要找到一种简单的方法来使用基于移动网络的界面找到当前的近似“邮政编码”。

如果有人有实施免费版的经验,请在此处记录。

我怀疑所涉及的过程是

当前位置 - >坐标 坐标 - >邮政编码

注意:我目前在数据库中有一个Postcodes和co-orinate列表,但我正在寻找的是将当前位置链接到数据库中的co-ordidates的适当代码,最好是在php中。

理想情况下寻找执行此操作的代码。

http://www.whatsmypostcode.com

更新:我找到了一个免费的API服务来将坐标转移到Postcode。 http://www.uk-postcodes.com/api.php

1 个答案:

答案 0 :(得分:1)

下面的SQL适用于MySQL,但其他人应该类似。

基本上它会返回最接近提供的邮政编码记录 起点。

$longitude =起始经度 $latitude =起始纬度 1.609344 =距离将以英里为单位,如果您将其更改为1则为KM

SELECT
  postcode, 
  latitude, 
  longitude,
  (
    6371.04 * acos(cos(pi()/2-radians(90-latitude)) 
    * cos(pi()/2-radians(90-$latitude)) 
    * cos(radians(longitude)-radians($longitude)) 
    + sin(pi()/2-radians(90-latitude)) 
    * sin(pi()/2-radians(90-$latitude))) / 1.609344 

  ) AS distance
FROM
  postcodes 
ORDER BY
  distance ASC
LIMIT
  1