class location
{
public function getLat($number, $small, $big, $temp = 20){
$temp--;
$average = ($big + $small) / 2;
if ($temp == 0) {
if ($average <= $number) {
return ‘1‘;
} else {
return ‘0‘;
}
}
if ($average <= $number) {
return ‘1‘ . $this->getLat($number, $average, $big, $temp);
} else {
return ‘0‘ . $this->getLat($number, $small, $average, $temp);
}
}
public function joinStr($lat, $lon){
$len = strlen($lat);
$str = ‘‘;
for ($i=0; $i < $len; $i++) {
$str .= $lon[$i] . $lat[$i];
}
return $str;
}
}
$location = new location();
$lat = $location->getLat(39.92324, -90, 90);
$lon = $location->getLat(116.3906, -180, 180);
$str = $location->joinStr($lat, $lon);
for ($i=0; $i
$code[$i] = bindec(substr($str, $i * 5, 5));
}
foreach ($code as $key => $value) {
echo $value . "\n";
}
原文:http://www.cnblogs.com/xj76149095/p/6956266.html