• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询

php 搞代码 4年前 (2022-01-23) 28次浏览 已收录 0个评论
define(EARTH_RADIUS, 6371);//地球半径,平均半径为6371km /** *计算*本5文来源gaodai$ma#com搞$$代**码)网@搞代码gaodaima某个经纬度的周围某段距离的正方形的四个点 * *@param lng float 经度 *@param lat float 纬度 *@param distance float 该点所在圆的半径,该圆与此正方形内切,默认值为0.5千米 *@return array 正方形的四个点的经纬度坐标 */ function returnSquarePoint($lng, $lat,$distance = 0.5){     $dlng =  2 * asin(sin($distance / (2 * EARTH_RADIUS)) / cos(deg2rad($lat)));    $dlng = rad2deg($dlng);         $dlat = $distance/EARTH_RADIUS;    $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)                ); }//使用此函数计算得到结果后,带入sql查询。$squares = returnSquarePoint($lng, $lat);$info_sql = "select id,locateinfo,lat,lng from `lbs_info` where lat0 and lat>{$squares['right-bottom']['lat']} and lat{$squares['left-top']['lng']} and lng<{$squares['right-bottom']['lng']} ";

转自:http://www.yiichina.com/extension/471

以上就介绍了PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址