<?php
/**
* 获取指定经纬度之间距离
*
* 将地球假定为圆形,数据精准度有限
* @param integer $lat1 纬度 1
* @param integer $lng1 经度 1
* @param integer $lat2 纬度 2
* @param integer $lng2 经度 2
*
* @return integer 指定位置距离 单位:米
*/
function get_distance($lat1, $lng1, $lat2, $lng2){
$PI = 3.14159265358979323; // 圆周率
$R = 6371229; // 地球的半径
$x = $y = $distance = 0;
$x = ($lng2 - $lng1) * $PI * $R * cos((($lat1 + $lat2) / 2) * $PI / 180) / 180;
$y = ($lat2 - $lat1) * $PI * $R / 180;
$distance = hypot($x, $y);
return $distance;
}
// 北京到潍坊距离
echo get_distance(39.914889,116.403874,36.713212,119.168138);
距离大约:430023.66710113M