2017-02-05 9 views
0

Googleマップから住所をジオコードすることを試みていますが、結果にアクセスしようとすると、結果を含む配列は定義されていません。私はこれと正反対のことを、座標系からアドレスを検索することでやったことがあります.PPANで許可されていますが、なぜこれが動作しないのか分かりません。私はちょうど私が望むデータ(緯度と経度)に到達するためにJSONを解析したいが、私はそれを行うことができないので、私は回避策を行い、ちょうどJSON.stringifyして、緯度を見つける&長いvia str.locate("lat")グーグルマップジオコード結果は未定義

私はGoogleマップからJSONレスポンスを解析する場合しかし、私は、ジオメトリの内部オブジェクトがこれは私がnode.js.からのリクエスト・ライブラリを使用していますし、私が欲しいものである。この

{ results: 
     [ { address_components: [Object], 
     formatted_address: '2985 NW Moda Way, Hillsboro, OR 97124, USA', 
     geometry: [Object], 
     place_id: 'ChIJt-G-MmcPlVQROzDAlEVj1nA', 
     types: [Object] } ], 
     status: 'OK' 
    } 

を取得私はGoogle MapsのAPI

request('https://maps.googleapis.com/maps/api/geocode/json?address=' + address + '+' + parsedStreet + '&key=' + key, function(err, response) { 
    if (err) 
     console.log("holy shit error"); 
    console.log(JSON.parse(response.body.results)); 
のための要求を使用していますコード: TypeError: Cannot read property '2' of undefined

編集中

JSON.stringify(response.body.results[2]);結果を経由して、オブジェクトと、私は、コンソールの結果の配列を取得するためにJSON.parse(response.body);をログに記録するが、結果を取得しようとしています

undefined ^ SyntaxError: Unexpected token u in JSON at position 0

を返し

addressとparsedStreetは、ファイルから読み取って座標に変換するアドレスの値です

+0

あなたは私達にあなたの 'request'コードを表示することができますか? – forrestmid

+0

将来参照するために、更新するときにコメントに@参照を付けると参考になることが分かります。 – forrestmid

答えて

1

実際にJSONをオブジェクトに解析する前にresultのインデックスにアクセスしようとしているようです文字列からresultインデックスを取得します。あなたはJSON.parseだけのレスポンスボディに必要とし、そのようにのように、結果に入る:

console.log(JSON.parse(response.body).results); 
+0

親切な先生、かっこのような単純なことありがとう。 – Dringo

関連する問題