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

本文实例讲述了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程序设计有所帮助。

(0)

相关推荐

  • php使用Jpgraph绘制复杂X-Y坐标图的方法

    本文实例讲述了php使用Jpgraph绘制复杂X-Y坐标图的方法.分享给大家供大家参考.具体实现方法如下: <?php include ("src/jpgraph.php"); include ("src/jpgraph_line.php"); $data1 = array(19,23,34,38,45,67,71,78,85,87,90,96); //第一条曲线的数组 $data2 = array(523,634,371,278,685,587,490,25

  • PHP计算百度地图两个GPS坐标之间距离的方法

    本文实例讲述了PHP计算百度地图两个GPS坐标之间距离的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: /**  * 计算两个坐标之间的距离(米)  * @param float $fP1Lat 起点(纬度)  * @param float $fP1Lon 起点(经度)  * @param float $fP2Lat 终点(纬度)  * @param float $fP2Lon 终点(经度)  * @return int  */ function distanceBetw

  • php使用Jpgraph绘制简单X-Y坐标图的方法

    本文实例讲述了php使用Jpgraph绘制简单X-Y坐标图的方法.分享给大家供大家参考.具体实现方法如下: <?php include ("src/jpgraph.php"); include ("src/jpgraph_line.php"); //将要用于图表创建的数据存放在数组中 $data = array(19,23,34,38,45,67,71,78,85,87,90,96); $graph = new Graph(400,300); //创建新的Gr

  • php实现计算百度地图坐标之间距离的方法

    本文实例讲述了php实现计算百度地图坐标之间距离的方法.分享给大家供大家参考,具体如下: 下面是网上的代码,使用的时候需要进行些许修改 第一个函数是获得范围,参数为纬度经度半径 第二个函数是计算坐标距离 <?php define('PI',3.1415926535898); define('EARTH_RADIUS',6378.137); //计算范围,可以做搜索用户 function GetRange($lat,$lon,$raidus){ //计算纬度 $degree = (24901 *

  • php计算两个坐标(经度,纬度)之间距离的方法

    本文实例讲述了php计算两个坐标(经度,纬度)之间距离的方法.分享给大家供大家参考.具体如下: 这里使用php计算两个坐标(经度,纬度)之间的距离,返回结果为米或者千米 function distance($lat1, $lng1, $lat2, $lng2, $miles = true) { $pi80 = M_PI / 180; $lat1 *= $pi80; $lng1 *= $pi80; $lat2 *= $pi80; $lng2 *= $pi80; $r = 6372.797; //

  • 验证坐标在某坐标区域内php代码

    之前碰到的这样一个需求,要将公司的服务在地图中显示出来,并将用户每天的访问坐标进行统计看有多少用户是在所能达到的服务范围半径内. 以下是PHP代码的实现 (仅验证坐标在某片坐标区域内) <?php /** * 验证坐标点是否在某区域内 * @author xiaoliang <1058436713@qq.com> * Class validationMap */ class validationMap{ private static $coordArray; private static

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

    本文实例讲述了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); $

  • mysql 搜寻附近N公里内数据的简单实例

    根据圆周率和地球半径系数以及搜寻点的经纬度,搜寻数据表中与搜寻点之间的距离为N公里内的数据. 1.创建测试表 CREATE TABLE `location` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `longitude` decimal(13,10) NOT NULL, `latitude` decimal(13,10) NOT NULL, PRIMARY KEY (`id`),

  • JavaScript计算两个日期时间段内日期的方法

    本文实例讲述了JavaScript计算两个日期时间段内日期的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: /*************************  * 计算两个日期时间段内所有日期  *   * @param value1  *            开始日期 YYYY-MM-DD  * @param value2  *            结束日期  * return 日期数组  */  function dataScope(value1, value2

  • layui表格内放置图片,并点击放大的实例

    我就废话不多说了,直接上代码吧! cols: [[ //表头 { field: 'brand_img_url', title: '图片', sort: true, templet: function(d){ return '<div οnclick="show_img(this)" ><img src="'+d.brand_img_url+'" alt="" width="50px" height="

  • 微信内置浏览器图片查看器的代码实例

    这篇文章主要介绍了微信内置浏览器图片查看器的代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 var imgs = new Array(); $("img").each(function () { //这里的图片路径要直接能在浏览器中打开的完整的url路径 imgs.push($(this).attr('src')); }); $("img").on('click', function () { var pa

  • python 在指定范围内随机生成不重复的n个数实例

    利用Python中的randomw.sample()函数实现 resultList=random.sample(range(A,B),N); #表示从[A,B]间随机生成N个数,结果以列表返回 以上这篇python 在指定范围内随机生成不重复的n个数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • JavaScript内置对象math,global功能与用法实例分析

    本文实例讲述了JavaScript内置对象math,global功能与用法.分享给大家供大家参考,具体如下: 学习要点: 1.Global对象 2.Math对象 ECMA-262对内置对象的定义是:"由ECMAScript实现提供的.不依赖宿主环境的对象,这些对象在ECMAScript程序执行之前就已经存在了."意思就是说,开发人员不必显示地实例化内置对象:因为它们已经实例化了.ECMA-262只定义了两个内置对象:Global和Math. 一.Global对象 Global(全局)对

  • Shell内置命令之exit的语法与实例

    目录 介绍: 语法: exit应用场景 实例 需求: 步骤: 演示 小结 附:exit后缀数字功能 总结 介绍: exit 用于退出当前shell环境进程结束运行,并且可以返回一个状态码.一般使用$?可以获取状态码. 语法: 正确退出语法 exit #默认返回状态码0 ,一般代表命令执行成功 错误退出语法 exit 非0数字 #数字建议的范围0-255 一般代表命令执行失败 exit应用场景 1.结束当前shell进程 2.当shell进程执行出错退出时,可以返回不同的状态值代表不同的错误. 比

  • 搜索附近的人PHP实现代码

    本文实例为大家分享了PHP实现搜索附近的人具体代码,供大家参考,具体内容如下 实现思路: 首先,我们应该这样想: 既然我们知道了用户当前位置的经纬度,又知道我们将要搜索的范围,我们可不可以计算出一个范围 ?也就是说,根据一个中心点和半径,计算出符合条件的经纬度的最大值和最小值 . 具体实现: 那么到此,想要独立思考完成的小伙伴可以不要继续往下看了. 上面我们提到该功能的一个实现原理,接下来我们就讲解一下具体的实现步骤. 我们先声明一个函数,用作计算经纬度的范围: /** * 根据经纬度和半径计算

  • PHP实现搜索地理位置及计算两点地理位置间距离的实例

    地理位置搜寻 LBS,存储每个地点的经纬度坐标,搜寻附近的地点,建立地理位置索引可提高查询效率. mongodb地理位置索引,2d和2dsphere,对应平面和球面. 1.创建lbs集合存放地点坐标 use lbs; db.lbs.insert( { loc:{ type: "Point", coordinates: [113.332264, 23.156206] }, name: "广州东站" } ) db.lbs.insert( { loc:{ type: &q

随机推荐