JS

2016-04-02 17 views
0

ile JSON dosyası (URL) ayrıştırma çünkü yaklaşık 10 saat boyunca bunu deniyorum çünkü herhangi bir çözüm için teşekkür ederiz. JSON'un belirli bir değerine ihtiyacım var ancak nasıl seçileceği konusunda bir fikrim yok.JS

Yani bu ben biçimlendirilmiş adresi-> GEOMETRİ-> bounds-> kuzeydoğudan/lat lng verilerini almak gerekir benim 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" 
} 

olduğunu.

Bu kodu

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

JS ve olması gerektiği gibi göstermek, "Tamam" döndürür çalıştı. Ama bu diziye ve tüm bu parantez içine bu kadar derin dahil olduğundan beri lat/lng'yi nasıl seçebilirim: D pls bana yardım

cevap

0

Url'nizde döner sonuçları, sen geometri nesnesi

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);
özelliklerine erişmek için, öncelikle o erişmek gerekir böylece

çıkışı:

+0

siz adamsınız! Çok fazla <3 – Svrex

+1

json selektörleri (nesneyi yapıştırabilir ve üzerlerine tıklayarak özellikleri seçebilir) için bakabilir, bu da büyük/kafa karıştırıcı nesneleriniz varsa doğru yönde daha hızlı bir şekilde işaret etmenize yardımcı olabilir – user2950720

+0

"geoArray" adını "sonuçlara" dönüştürdüm. Ya da başka bir şekilde. – John

-1

Aşağıdaki kod, sınırlar nesnesi içindeki kuzeydoğu anahtarından lat/long çıkarır.

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

Ayrıca, bu gibi yazabilirsiniz:

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

işe yarayacak bu deneyin: konsolda

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

Baskı:

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

JsFiddle: 0 dizininde bir dizi içhttps://jsfiddle.net/n7voyo6t/