0

如何在 php 中解析 JSON 谷歌地图 JSON

我已经在 xml 中完成了,但坐标驱动方向并不像我使用 JSON 获得的那样完整,我们如何在 php 中使用 JSON 获得所有坐标驱动?

如果我们使用 xml

$xml = simplexml_load_file('http://maps.googleapis.com/maps/api/directions/xml?origin='.$origin.'&destination='.$dest.'&sensor=false');
$startlat = $xml->xpath("/DirectionsResponse/route/leg/step/start_location/lat");
$startlng = $xml->xpath("/DirectionsResponse/route/leg/step/start_location/lng");
$distanceeach = $xml->xpath("/DirectionsResponse/route/leg/step/distance/value");
$distance = $xml->xpath("/DirectionsResponse/route/leg/distance/value");

但是如何处理json?如果我们使用 xml,我希望我的变量 $startlat、$startlng 等包含相同的值

4

1 回答 1

1

您可以检索JSON格式的数据,然后使用json_decode()函数构建stdClass对象,然后您可以递归遍历对象的属性将其转换(array) $response为this。

然后使用 Google Maps API 响应作为数组。您可以继续不转换为数组,并使用stdClass如下对象:

$response->DirectionsResponse->route->leg->step->start_location->lat;

要获得正确的值,您始终var_dump()可以响应对象,并查看您想要获得的内容。

希望,这有帮助。


这是来自 Google Translate API 的使用 Google JSON 响应的代码......这与您需要的基本相同:

if (!is_null($json = json_decode(file_get_contents($url)))
{
    return $json->data->translations[0]->translatedText;
}

就是这样...

于 2012-07-07T12:28:55.087 回答