PHP根据一个给定经纬度的点进行附近地点查询
实现原理先算出该点周围的矩形的四个点然后使用经纬度去直接匹配数据库中的记录。//获取周围坐标public function returnSquarePoint($lng, $lat,$distanc e=0.5){
$earthRadius=6378138;
$dlng=2*asin(sin($distanc e/(2* $earthRadius)) /c os(deg2rad($lat)));
$dlng=rad2deg($dlng);
$dlat=$distanc e/$earthRadius;
$dlat=rad2deg($dlat);return array(
‘left-top’=array(‘lat’=$lat+$dlat, ’lng’=$lng-$dlng),
‘right-top’=array(‘lat’=$lat+$dlat, ‘lng’=$lng+$dlng),
‘left-bottom’=array(‘lat’=$lat - $dlat, ‘lng’=$lng-$dlng),
‘right-bottom’=array(‘lat’=$lat - $dlat, ‘lng’=$lng+$dlng)
//计算两个坐标的直线距离public function getDistanc e($lat 1, $lng 1, $lat2, $lng2){
$earthRadius=6378138; //近似地球半径米
//转换为弧度
$lat1=($lat1 *pi()) / 180;
$lng1=($lng1 *pi())/ 180;
$lat2=($lat2*pi())/ 180;
$lng2=($lng2*pi())/ 180;
//使用半正矢公式用尺规来计算
$c alc Longitude=$lng2- $lng 1;
$c alc Latitude=$lat2- $lat 1;
$stepOne=pow(s in($c alc Latitude/2),2)+c os($lat 1) * c os($lat2) *pow(s in($c alc Longitude/
2),2);
$stepTwo=2*asin(min(1, sqrt($stepOne)));
$c alculatedDistanc e=$earthRadius * $stepTw o;return round($c alc ulatedDis tanc e);
}
优林怎么样?优林好不好?优林 是一家国人VPS主机商,成立于2016年,主营国内外服务器产品。云服务器基于hyper-v和kvm虚拟架构,国内速度还不错。今天优林给我们带来促销的是国内东北地区哈尔滨云服务器!全部是独享带宽!首月5折 续费5折续费!地区CPU内存硬盘带宽价格购买哈尔滨电信2核2G50G1M53元直达链接哈尔滨电信4核4G50G1M83元直达链接哈尔滨电信8核8G50G1M131元直...
菠萝云国人商家,今天分享一下菠萝云的广州移动机房的套餐,广州移动机房分为NAT套餐和VDS套餐,NAT就是只给端口,共享IP,VDS有自己的独立IP,可做站,商家给的带宽起步为200M,最高给到800M,目前有一个8折的优惠,另外VDS有一个下单立减100元的活动,有需要的朋友可以看看。菠萝云优惠套餐:广州移动NAT套餐,开放100个TCP+UDP固定端口,共享IP,8折优惠码:gzydnat-8...
Krypt这两天发布了ION平台9月份优惠信息,提供一款特选套餐年付120美元(原价$162/年),开设在洛杉矶或者圣何塞机房,支持Windows或者Linux操作系统。ion.kryptcloud.com是Krypt机房上线的云主机平台,主要提供基于KVM架构云主机产品,相对于KT主站云服务器要便宜很多,产品可选洛杉矶、圣何塞或者新加坡等地机房。洛杉矶机房CPU:2 cores内存:2GB硬盘:...