【发布时间】:2013-08-15 00:56:54
【问题描述】:
我正在使用 php exif_read_data 函数来获取经纬度,然后我将它们转换为谷歌可以使用的格式,但是它们似乎总是在几英里之外。同一个国家,只是位置不正确(但是 iPhoto 会给我正确的位置)。代码如下
public function get_location() {
global $the_image;
if(!empty($the_image)) {
$exif = $this->get_exif();
$degLong = $exif['GPSLongitude'][0];
$minLong = $exif['GPSLongitude'][1];
$secLong = $exif['GPSLongitude'][2];
$refLong = $exif['GPSLongitudeRef'];
$degLat = $exif['GPSLatitude'][0];
$minLat = $exif['GPSLatitude'][1];
$secLat = $exif['GPSLatitude'][2];
$refLat = $exif['GPSLatitudeRef'];
$long = $this->to_decimal($degLong, $minLong, $secLong, $refLong);
$lat = $this->to_decimal($degLat, $minLat, $secLat, $refLat);
echo $long . "<br />" . $lat . "<br/>";
} else {
echo "Supply an image";
}
}
function to_decimal($deg, $min, $sec, $hem){
$d = $deg + ((($min/60) + ($sec/3600))/100);
return ($hem =='S' || $hem=='W') ? $d*=-1 : $d;
}
谁能看到它返回错误数据的原因,是我的to_decimal 函数错误吗?
【问题讨论】:
-
您使用的是哪个包?能否请您展示一下您是如何在 PHP 中提取 gps 信息的?
-
嗨@ultrasamad 这是一个非常古老的问题,不应该真正复活,但我使用的是PHP
exif_read_data方法php.net/manual/en/function.exif-read-data.php。没有包,只有 PHP。
标签: php geolocation gps exif geotagging