我注意到我的谷歌地理编码已被弃用,并导致我的网站瘫痪。我真的需要有人的帮助来解决最后一块难题。我的旧代码产生了一个输出“$Coords”,我的网站的其余部分依赖于此。你能帮我弄清楚如何使新的 api 具有相同的输出吗?这是我的旧代码:
$address = str_replace('#', '', $address);
$address = str_replace(' ', '+', $address);
$XMLUrl = 'http://maps.google.com/maps/geo?q='.$address.'&key='.$api.'&sensor=false&output=xml&oe=utf8';
$XMLUrl = 'http://maps.googleapis.com/maps/api/geocode/xml?address='.$address.'&sensor=false';
$XMLContents = file_get_contents($XMLUrl);
$XML = new SimpleXMLElement($XMLContents);
$Coords = explode(',',$XML->Response->Placemark->Point->coordinates);
return $Coords;
这是我的新代码。我只是不知道如何将其输出为 $Coords:
$address = str_replace('#', '', $address);
$address = str_replace(" ", "+", $address);
$json = file_get_contents("http://maps.google.com/maps/api/geocode/json?address=$address&sensor=false®ion=$region");
$json = json_decode($json);
$lat = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
$long = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lng'};
网站的其余部分取决于存储为 $Coords 而不是 $lat 或 $long 的地理编码。我真的非常感谢我能得到的任何帮助。
我需要将其保存为数组。呃
$Coords = $long.', '.$lat;
$Coords = explode(',',$Coords);