根据用户邮政编码获取结果

时间:2018-03-02 10:55:23

标签: php mysql

我跟随表

Shop   latitude         longitude
A       45.326874     -75.723473
B       43.757496     -79.481728
C       45.409691     -75.728264

我需要根据距离使用的邮政编码获取结果。我尝试了很多方法但没有结果。有人可以帮助我吗?

...

1 个答案:

答案 0 :(得分:0)

使用此网址示例获取用户邮政编码的纬度和经度:

http://maps.googleapis.com/maps/api/geocode/json?address=canada&components=postal_code:<user_postalcode>&sensor=false

然后使用以下查询

获取结果
SELECT Shop, latitude, longitude, ( 6371 * acos( cos( radians($lat) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians($lng ) ) + sin( radians($lat) ) * sin( radians( latitude ) ) ) ) AS distance ,latitude,longitude FROM <YOUR TABLE> ORDER BY distance ASC ;

我没看好。但我认为它会帮助你解决问题。