2016-04-02 4 views
0

で解析しています。私はこれを約10時間試しています。 JSONの特定の値が必要ですが、アイデアを選択する方法はありません。JSONファイル(URL)をJS

だから、これは私がフォーマットされたアドレス - > geometry-> bounds->東北から緯度/経度のデータを取得する必要があります私のJSON

{ 
    "results" : [ 
     { 
    "address_components" : [ 
     { 
      "long_name" : "Buchenberg", 
      "short_name" : "Buchenberg", 
      "types" : [ "locality", "political" ] 
     }, 
     { 
      "long_name" : "Oberallgäu", 
      "short_name" : "Oberallgäu", 
      "types" : [ "administrative_area_level_3", "political" ] 
     }, 
     { 
      "long_name" : "Swabia", 
      "short_name" : "Swabia", 
      "types" : [ "administrative_area_level_2", "political" ] 
     }, 
     { 
      "long_name" : "Bavaria", 
      "short_name" : "BY", 
      "types" : [ "administrative_area_level_1", "political" ] 
     }, 
     { 
      "long_name" : "Germany", 
      "short_name" : "DE", 
      "types" : [ "country", "political" ] 
     } 
    ], 
    "formatted_address" : "Buchenberg, Germany", 
    "geometry" : { 
     "bounds" : { 
      "northeast" : { 
       "lat" : 47.7525249, 
       "lng" : 10.286058 
      }, 
      "southwest" : { 
       "lat" : 47.6694625, 
       "lng" : 10.1128175 
      } 
     }, 
     "location" : { 
      "lat" : 47.6960163, 
      "lng" : 10.239696 
     }, 
     "location_type" : "APPROXIMATE", 
     "viewport" : { 
      "northeast" : { 
       "lat" : 47.7525249, 
       "lng" : 10.286058 
      }, 
      "southwest" : { 
       "lat" : 47.6694625, 
       "lng" : 10.1128175 
      } 
     } 
    }, 
    "place_id" : "ChIJA6IwOqmAm0cRxVEUeHkZnrg", 
    "types" : [ "locality", "political" ] 
    } 
    ], 
    "status" : "OK" 
} 

です。

私は、これはコード

 $.getJSON("https://maps.googleapis.com/maps/api/geocode/json?address=buchenberg", function(result){ 
     var geoArray = result; 
     alert(geoArray['status']);  
    }); 

をJS、それがになっているように、それは、 "OK" を返してみました。 しかし、どのようにこの配列とこのすべての括弧に深く関わっているので、lat/lngを選択することができます:D pls help me

答えて

0

あなたのURL結果を返します、あなたはジオメトリオブジェクト

var lat = geoArray.results[0].geometry.bounds.northeast.lat; 
    var long = geoArray.results[0].geometry.bounds.northeast.lng; 

var result = { 
 
    "results" : [ 
 
     { 
 
    "address_components" : [ 
 
     { 
 
      "long_name" : "Buchenberg", 
 
      "short_name" : "Buchenberg", 
 
      "types" : [ "locality", "political" ] 
 
     }, 
 
     { 
 
      "long_name" : "Oberallgäu", 
 
      "short_name" : "Oberallgäu", 
 
      "types" : [ "administrative_area_level_3", "political" ] 
 
     }, 
 
     { 
 
      "long_name" : "Swabia", 
 
      "short_name" : "Swabia", 
 
      "types" : [ "administrative_area_level_2", "political" ] 
 
     }, 
 
     { 
 
      "long_name" : "Bavaria", 
 
      "short_name" : "BY", 
 
      "types" : [ "administrative_area_level_1", "political" ] 
 
     }, 
 
     { 
 
      "long_name" : "Germany", 
 
      "short_name" : "DE", 
 
      "types" : [ "country", "political" ] 
 
     } 
 
    ], 
 
    "formatted_address" : "Buchenberg, Germany", 
 
    "geometry" : { 
 
     "bounds" : { 
 
      "northeast" : { 
 
       "lat" : 47.7525249, 
 
       "lng" : 10.286058 
 
      }, 
 
      "southwest" : { 
 
       "lat" : 47.6694625, 
 
       "lng" : 10.1128175 
 
      } 
 
     }, 
 
     "location" : { 
 
      "lat" : 47.6960163, 
 
      "lng" : 10.239696 
 
     }, 
 
     "location_type" : "APPROXIMATE", 
 
     "viewport" : { 
 
      "northeast" : { 
 
       "lat" : 47.7525249, 
 
       "lng" : 10.286058 
 
      }, 
 
      "southwest" : { 
 
       "lat" : 47.6694625, 
 
       "lng" : 10.1128175 
 
      } 
 
     } 
 
    }, 
 
    "place_id" : "ChIJA6IwOqmAm0cRxVEUeHkZnrg", 
 
    "types" : [ "locality", "political" ] 
 
    } 
 
    ], 
 
    "status" : "OK" 
 
}; 
 
var geoArray = result; 
 
var lat = geoArray.results[0].geometry.bounds.northeast.lat; 
 
var long = geoArray.results[0].geometry.bounds.northeast.lng; 
 

 
console.log(lat); 
 
console.log(long);
のプロパティにアクセスするには、まずそのにアクセスする必要がありますので、

出力:

lat 47.7525249 
    long 10.286058 
+0

あなたは男です!ありがとうございます<3 – Svrex

+1

jsonセレクタ(オブジェクトをペーストしてプロパティを選択できます)を探すことができます。大きな/混乱しているオブジェクトがある場合は、正しい方向にすばやく向けるのに役立ちます。 – user2950720

+0

"geoArray"という名前を "results"にすると思います。または、それ以外の方法です。 – John

-1

以下のコードはboundsオブジェクト内のnortheastキーからlat/longを抽出します。

alert(geoArray[0].geometry.bounds.northeast); 

また、あなたはこのようにそれを書くことができます:

alert(geoArray[0]['geometry']['bounds']['northeast']); 
0

を、それが動作します、これを試してみてください:コンソールで

// Latitude. 
var lat = Obj.results[0].geometry.bounds.northeast.lat; 
// Longitude. 
var lng = Obj.results[0].geometry.bounds.northeast.lng; 

印刷:

console.log(lat); 
console.log(lng); 

JsFiddle:インデックス0の配列内のhttps://jsfiddle.net/n7voyo6t/