将谷歌地图网址转换为坐标

时间:2013-10-22 15:01:04

标签: php google-maps-api-3 latitude-longitude

我想将此谷歌地图网址“http // maps.google.com / maps?f = q& q = 14.674518%2C120.549043& z = 16”转换为纬度和经度值。

这是我的代码:

$string='http://maps.google.com/maps?f=q&q=14.674518%2C120.549043&z=16';
$regex=' , http://maps\.google\.com/maps\?q=\K[^&]+,';
preg_match($regex,$string,$m);
echo $m[0].'<br />';

谢谢!

2 个答案:

答案 0 :(得分:1)

PHP中提供了很好的URL函数(parse_url()parse_str()):

<?php
$query = array();
  //parse the url to get the QUERY_STRING
$urlParts = parse_url('http://maps.google.com/maps?f=q&q=14.674518%2C120.549043&z=16');
  //parse the QUERY_STRING to get the variables
parse_str($urlParts['query'], $query);

echo $query['q'];
  //returns 14.674518,120.549043
?>

答案 1 :(得分:0)

我添加了一个小改动,以便在上面的代码中获得清晰的结果:

parse_str(htmlspecialchars_decode($urlParts['query']), $query);