2017-05-08 81 views
1

我認爲這與我有限的JavaScript經驗有關。 我使用由谷歌Node.js的客戶端庫,在這裏找到 - https://github.com/googlemaps/google-maps-services-js 的例子展示瞭如何創建一個客戶對象使用node.js谷歌地圖客戶端庫

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

再怎麼跑gecode請求,並打印出結果:

// 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陣列滿您需要的信息

相關問題