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);
}
sharktech怎么样?sharktech (鲨鱼机房)是一家成立于 2003 年的知名美国老牌主机商,又称鲨鱼机房或者SK 机房,一直主打高防系列产品,提供独立服务器租用业务和 VPS 主机,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹,所有产品均提供 DDoS 防护。不知道大家是否注意到sharktech的所有服务器的带宽价格全部跳楼跳水,降幅简直不忍直视了,还没有见过这么便宜的独立服...
前些天赵容分享过DogYun(狗云)香港BGP线路AMD 5950X经典低价云服务器的信息(点击查看),刚好账户还有点余额够开个最低配,所以手贱尝试下,这些贴上简单测试信息,方便大家参考。官方网站:www.dogyun.com主机配置我搞的是最低款优惠后14.4元/月的,配置单核,512MB内存,10GB硬盘,300GB/50Mbps月流量。基本信息DogYun的VPS主机管理集成在会员中心,包括...
vinahost怎么样?vinahost是一家越南的主机商家,至今已经成13年了,企业运营,老牌商家,销售VPS、虚拟主机、域名、邮箱、独立服务器等,机房全部在越南,有Viettle和VNPT两个机房,其中VNPT机房中三网直连国内的机房,他家的产品优势就是100Mbps不限流量。目前,VinaHost商家发布了新的优惠,购买虚拟主机、邮箱、云服务器、VPS超过三个月都有赠送相应的时长,最高送半年...