php 计算坐标点方圆周围多少米的坐标算法

//地球半径 6371千米
    const EARTH_ROUNT = 6371;

    /**
     * @param  $distance 方圆多少千米 默认500米
     */
    private function _getAround($lng,$lat,$distance=0.5)
    {
        $dlng = 2 * asin(sin($distance / (2*self::EARTH_ROUNT) ) / cos(deg2rad($lat)) );
        $dlng = rad2deg($dlng);
        $dlat = $distance/self::EARTH_ROUNT;
        $dlat = rad2deg($dlat);

       $around = 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)
    );
var_dump($around); } public function actionCheating() { $lng = '121.437799'; $lat = '31.243208'; $this->_getAround($lng,$lat); }

根据坐标查询验证的百度地图地址

http://api.map.baidu.com/lbsapi/getpoint/index.html

原文地址:https://www.cnblogs.com/polax/p/10755414.html