当前位置:  首页  >  PHP教程  >  PHP 基础  >  基础教程

PHP根据经纬度获取在范围坐标的数据

PHP根据经纬度获取在范围坐标的数据计算范围,可以做搜索用户

//计算范围,可以做搜索用户

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function GetRange($lat,$lon,$raidus){
  //计算纬度
  $degree = (24901  1609) / 360.0;
  $dpmLat = 1 / $degree;
  $radiusLat = $dpmLat  $raidus;
  $minLat = $lat  $radiusLat; //得到最小纬度
  $maxLat = $lat + $radiusLat; //得到最大纬度
  //计算经度
  $mpdLng = $degree  cos($lat  (PI / 180));
  $dpmLng = 1 / $mpdLng;
  $radiusLng = $dpmLng  $raidus;
  $minLng = $lon  $radiusLng; //得到最小经度
  $maxLng = $lon + $radiusLng; //得到最大经度
  //范围
  $range = array(
    'minLat' => $minLat,
    'maxLat' => $maxLat,
    'minLon' => $minLng,
    'maxLon' => $maxLng
  );
  return $range;
}



获取范围内的所有数据

1
2
3
4
5
6
7
8
9
$result = GetRange(110.325945,20.031541,5000);
 
 
$where = " (`jingdu` between ".$result['minLat']." and ".$result['maxLat'].") and ( `weidu` between ".$result['minLon']." and ".$result['maxLon']." ) ";
$query = $db>query("select  from ".DB_PRE."hospital where $where order BY id DESC ");
while ( $row = $db>fetch_array($query) ) {
    $list[] = $row['all_name'];
}
print_r($list);

吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright ? 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有
     
28玩法
神预测加拿大pc蛋蛋 新疆时时彩shipin 12086福彩开奖结果 一肖中特动物图 极速快乐十分彩开奖网 内蒙古快3昨日走势 腾讯分分彩平台投注 广东26选5玩法介绍 二八杠讨论心得 重庆快乐十分骗局 内部透码彩票彩图 福彩3d开机号和试机号彩宝网 安徽时时彩走势图贴吧 银河赌场网址 期 平特三连肖