2017-04-15 45 views
-1

我开发了一个脚本,收集经纬度从谷歌地图网址。PHP谷歌地图网址与奇数经纬度转换在url

http://maps.google.com/maps?f=q&ie=UTF8&om=1&q=24+56.7266 1967年00.8324”

但是当我把这个网址浏览器,它纬度经度从这个 - 转换> “24 + 56.7266'67 + 00.8324” 到这个 - >“24.945443, 67.013873“这是正确的。他们有什么方法可以在php变量中获得正确的经纬度。

目前我试过这个。

$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这样。

http://localhost/maps/place/24%C2%B056 '43 1.6%22N + 67%C2%B000'49.9%22E/@ 24.9454433,67.0138733,16z

所以我试图让最终网址变量,但失败了。它捕获旧网址,而不是重定向后的最终网址。

PS:我们不想在我们的服务器上使用谷歌地图。只需要在提供的url中使用正确的变量。

回答

0

此问题已由下面的代码解决。我不知道该网址包含度,分,秒的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); 
0

你需要使用这种方式谷歌地图。

$url = "http://maps.google.com/maps?f=q&ie=UTF8&om=1&q=24+56.7266'67+00.8324"; 
header("Location:".$url.""); 
+0

我想在变量中输出数据。来自@ 24.9454433,67.0138733 – Aadeelyoo

+0

其实我不想打开这个网址。我想要最终的重定向链接数据到变量。 – Aadeelyoo

相关问题