【发布时间】:2018-04-03 02:38:46
【问题描述】:
我在 express js 中使用了一个名为 node-geocoder 的库,它具有以下代码:
var NodeGeocoder = require('node-geocoder');
var options = {
provider: 'google',
// Optional depending on the providers
httpAdapter: 'https', // Default
apiKey: 'YOUR_API_KEY', // for Mapquest, OpenCage, Google Premier
formatter: null // 'gpx', 'string', ...
};
var geocoder = NodeGeocoder(options);
// Using callback
geocoder.geocode('29 champs elysée paris', function(err, res) {
console.log(res);
});
geocode 方法的回调函数中的响应变量(res) 保存一个对象,该对象具有纬度和经度等位置属性。这个包的链接是here
我想知道是否有办法在地理编码方法中的回调函数之外使用该响应变量。我需要提取纬度和经度属性,并且我不想将其余代码保留在该回调函数中。
作为一个菜鸟,我尝试只返回对象并将其存储在一个变量中,如下所示:
var object = geocoder.geocode('29 champs elysée paris', function(err, res) {
return res;
});
这不起作用,因为它在回调中,而不是在实际的地理编码方法中返回。
【问题讨论】:
-
解决它的一种方法是从回调中调用一个函数。请参阅下面的答案
标签: javascript node.js express