php 6位邮政编码,php / mysql邮政编码邻近搜索

这是我找到的最好的方法.当然,这将需要您的所有邮政编码在数据库中编码.

// get all the zipcodes within the specified radius - default 20

function zipcodeRadius($lat, $lon, $radius)

{

$radius = $radius ? $radius : 20;

$sql = 'SELECT distinct(ZipCode) FROM zipcode WHERE (3958*3.1415926*sqrt((Latitude-'.$lat.')*(Latitude-'.$lat.') + cos(Latitude/57.29578)*cos('.$lat.'/57.29578)*(Longitude-'.$lon.')*(Longitude-'.$lon.'))/180) <= '.$radius.';';

$result = $this->db->query($sql);

// get each result

$zipcodeList = array();

while($row = $this->db->fetch_array($result))

{

array_push($zipcodeList, $row['ZipCode']);

}

return $zipcodeList;

}

你应该能够放弃这个功能.传递您想要的半径的邮政编码$lat和$lon,包括可选的半径,并获得一个zipcodes列表.

你可以很容易地修改这个,让所有的用户都可以使用zipcode IN(radius_sql),并让你的列表用户回来.

快乐编码!

  • 0
    点赞
  • 0
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值