PHP计算当前坐标3公里内4个角落的最大最小经纬度实例

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP计算当前坐标3公里内4个角落的最大最小经纬度的方法。分享给大家供大家参考,具体如下:

//$lng 、$lat 经纬度    
$half = 6371;
    $distance = 3; //3公里 
    $dlng = 2 * asin(sin($distance / (2 * $half)) / cos(deg2rad($lat)));
    $dlng = rad2deg($dlng);
    $dlat = $distance / $half;
    $dlat = rad2deg($dlat);
    $fourpoint = 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)
);

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHPStrom中实用的功能和快捷键大全

有哪些快捷键或者PHPStrom出的特有的功能,让你觉得编写过程变得很舒服和快捷? CTRL + j 能够快捷的输入常用的代码片段,类似vim的 snipMate,可以加入自定义代码片段...

Swoole 5将移除自动添加Event::wait()特性详解

前言 在之前的版本中,编写Cli命令行脚本中使用异步或协程功能时,Swoole会自动在脚本末尾检测是否有Event::wait()调用,如果没有,底层会自动调用register_shut...

Swoole实现异步投递task任务案例详解

Swoole实现异步投递task任务案例详解

本文实例讲述了Swoole实现异步投递task任务案例。分享给大家供大家参考,具体如下: 【使用场景】       Swolle的t...

PHP回调函数及匿名函数概念与用法详解

本文实例讲述了PHP回调函数及匿名函数概念与用法。分享给大家供大家参考,具体如下: 1、回调函数 PHP的回调函数其实和C、Java等语言的回调函数的作用是一模一样的,都是在主线程执行的...

PHP备份数据库生成SQL文件并下载的函数代码

复制代码 代码如下: <!?php /****** 备份数据库结构 ******/ /* 函数名称:table2sql() 函数功能:把表的结构转换成为SQL 函数参数:$tabl...