PHP谷歌地图url与奇数lat lng在url中转换
我已经开发了一个从谷歌地图url收集lat lng的脚本 “'67+00.8324” 但是当我把这个url浏览器放进去的时候,它会把lat lng从这个->“24+56.7266'67+00.8324”转换成这个->“24.945443,67.013873”,这是正确的。是他们在php变量中获得正确lat lng的任何方法 目前我已经试过了PHP谷歌地图url与奇数lat lng在url中转换,php,google-maps,url,curl,Php,Google Maps,Url,Curl,我已经开发了一个从谷歌地图url收集lat lng的脚本 “'67+00.8324” 但是当我把这个url浏览器放进去的时候,它会把lat lng从这个->“24+56.7266'67+00.8324”转换成这个->“24.945443,67.013873”,这是正确的。是他们在php变量中获得正确lat lng的任何方法 目前我已经试过了 $url = "http://maps.google.com/maps?f=q&ie=UTF8&om=1&q=24+56.7266'
$url = "http://maps.google.com/maps?f=q&ie=UTF8&om=1&q=24+56.7266'67+00.8324";
$output = file_get_contents($url);
echo $output;
当我运行脚本时,它像这样重定向了我的url
‘43.6%22N+67%C2%B000’49.9%22E/@24.9454433,67.0138733,16z
所以我尝试在变量中获取最终url,但失败了。它捕获旧url,而不是重定向后的最终url
PS:我们不想在我们的服务器上使用谷歌地图。只需从提供的url中输入正确的lat lng变量。您需要使用谷歌地图的这种方式
$url = "http://maps.google.com/maps?f=q&ie=UTF8&om=1&q=24+56.7266'67+00.8324";
header("Location:".$url."");
此问题已通过以下代码解决。我不知道url包含以度、分、秒为单位的gps数据
function DMStoDD($deg,$min,$sec)
{
// Converting DMS ( Degrees / minutes / seconds ) to decimal format
return $deg+((($min*60)+($sec))/3600);
}
$coords = explode("'", $vars['q']);
$lat_temp = $coords[0];
$long_temp = $coords[1];
$lat_decimal = explode(".", $lat_temp);
$long_decimal = explode(".", $long_temp);
$lat_sec = "0.".$lat_decimal[1];
$lng_sec = "0.".$long_decimal[1];
$lat_sec = round($lat_sec * 60,1);
$lng_sec = round($lng_sec * 60,1);
$lat_dd_space = explode(" ", $lat_temp);
$lng_dd_space = explode(" ", $long_temp);
$lat_dd = $lat_dd_space[0];
$lng_dd = $lng_dd_space[0];
$lat_mm = explode(".", $lat_dd_space[1]);
$lng_mm = explode(".", $lng_dd_space[1]);
$lat_mm = $lat_mm[0];
$lng_mm = $lng_mm[0];
$lat = round(DMStoDD($lat_dd,$lat_mm,$lat_sec),6);
$long = round(DMStoDD($lng_dd,$lng_mm,$lng_sec),6);
我希望输出变量中的数据。From@24.9454433,67.0138733实际上我不想打开这个url。我希望最终将链接数据重定向到变量中。