0

我从 JSON 数组对象中获取值没有任何成功。我特别想进入几何->位置->纬度

这是我正在做的事情:

    $url='http://maps.googleapis.com/maps/api/geocode/json?address='.$a.'&sensor=false';
    $result = file_get_contents($url);
    $jsonArr = json_decode($result,true);

    echo "Lat: ".$jsonArr['results']['geometry']['location']['lat'];

这是 Google 返回的 JSON 的 print_r():

 {
       "results" : [
          {
             "address_components" : [
                {
                   "long_name" : "46814",
                   "short_name" : "46814",
                   "types" : [ "postal_code" ]
                },
                {
                   "long_name" : "Fort Wayne",
                   "short_name" : "Fort Wayne",
                   "types" : [ "locality", "political" ]
                },
                {
                   "long_name" : "Indiana",
                   "short_name" : "IN",
                   "types" : [ "administrative_area_level_1", "political" ]
                },
                {
                   "long_name" : "United States",
                   "short_name" : "US",
                   "types" : [ "country", "political" ]
                }
             ],
             "formatted_address" : "Fort Wayne, IN 46814, USA",
             "geometry" : {
                "bounds" : {
                   "northeast" : {
                      "lat" : 41.08472709999999,
                      "lng" : -85.26534090
                   },
                   "southwest" : {
                      "lat" : 41.00163510,
                      "lng" : -85.35540899999999
                   }
                },
                "location" : {
                   "lat" : 41.05472940,
                   "lng" : -85.30328109999999
                },
                "location_type" : "APPROXIMATE",
                "viewport" : {
                   "northeast" : {
                      "lat" : 41.08472709999999,
                      "lng" : -85.26534090
                   },
                   "southwest" : {
                      "lat" : 41.00163510,
                      "lng" : -85.35540899999999
                   }
                }
             },
             "types" : [ "postal_code" ]
          }
       ],
       "status" : "OK"
    }
4

1 回答 1

2

结果以数组形式返回。得到第一个元素,你就完成了。但是,您应该确保结果数组中至少有一个元素。

echo "Lat: " . $jsonArr['results'][0]['geometry']['location']['lat'];
于 2013-06-20T01:22:37.857 回答