2017-05-08 11 views
1

これは私の限られたJavascriptの使用経験と関係があります。私はGoogleによるNode.jsのクライアントライブラリを使用しています 、ここで見つける - https://github.com/googlemaps/google-maps-services-js 例はgecode要求を実行し、結果を印刷する方法を、次にnode.js Googleマップのクライアントライブラリを使用しています

var googleMapsClient = require('@google/maps').createClient({ 
    key: 'your API key here' 
}); 

クライアントオブジェクトを作成し、する方法を示しています。

// Geocode an address. 
googleMapsClient.geocode({ 
    address: '1600 Amphitheatre Parkway, Mountain View, CA' 
}, function(err, response) { 
    if (!err) { 
    console.log(response.json.results); 
    } 
}); 

私がしなければならないことは、ファイルからアドレスのリストを読み込み、すべてのオブジェクトの配列を作成することです。

は、私は私のコードは、の線に沿って何かをしたい:

create address-objects array 
create a client object 
open the text files 
for each line in text files 
geocode the line(address) 
add the address and the results into an object and add it to the address-objects 

私ははい、私はそれをどのようにアクセスしなければgoogleMapsClient.geocodeは、何かを返すかどうか理解していませんか?私は、事前 ジョナサンのおかげで明らかになった

var gc_results = googleMapsClient.geocode(param , ...) 

希望:私はの線に沿っていくつかの変数に設定する必要があります。

答えて

1

callback機能内の応答にアクセスできます。

あなたがアドレス毎に呼び出されるこの機能を持つようにしたいのであれば、あなたは最初に空の配列を定義することができます。

var gc_results = []; 

その後、あなたはファイルのうち、あなたが得る各アドレスのための関数を呼びます、これに似た何か:この後

addresses.forEach(function(){ 
    googleMapsClient.geocode({ 
     address: 
    }, function(err, res) { 
     gc_results.push(res.json.results); 
    }) 
}) 

、あなたが

が必要な情報を完全に gc_resultsの配列を持つことになります
関連する問題