meteor geocoder反向回调类型错误:数字不是函数
我使用aldeed反向查找时出错:geocoder@0.3.7:meteor geocoder反向回调类型错误:数字不是函数,meteor,google-geocoder,Meteor,Google Geocoder,我使用aldeed反向查找时出错:geocoder@0.3.7: var geo = new GeoCoder(); var addr = geo.reverse(45.767, 4.833); 给出以下错误: W20151006-08:26:25.947(2)? (STDERR) C:\Users\steets\AppData\Local\.meteor\packages\aldeed_geocode r\0.3.7\npm\node_modules\node-geocoder\lib\ge
var geo = new GeoCoder();
var addr = geo.reverse(45.767, 4.833);
给出以下错误:
W20151006-08:26:25.947(2)? (STDERR) C:\Users\steets\AppData\Local\.meteor\packages\aldeed_geocode
r\0.3.7\npm\node_modules\node-geocoder\lib\geocoder.js:60
W20151006-08:26:25.947(2)? (STDERR) return callback(err, data);
W20151006-08:26:25.947(2)? (STDERR) ^
W20151006-08:26:25.947(2)? (STDERR) TypeError: number is not a function
这在我的两台开发机器上都会发生,就像在部署中一样
使用node inspector,我在aldeed_geocoder.js:61:
GeoCoder.prototype.reverse = function geoCoderReverse(lat, lng, callback) {
if (callback) {
callback = Meteor.bindEnvironment(callback, function (error) {
if (error) throw error;
});
rv(lat, lng, this.options, callback);
} else {
return Meteor.wrapAsync(rv)(lat, lng, this.options);
}
};
(rv
调用node geocoder
的reverse
功能,如错误中所述)
然后,wrapAsync
在最后一行失败:
return fut ? fut.wait() : result;
运行meteor update
表示我拥有最新的meteor和软件包
我尝试在一个香草应用程序中,按照程序包README()重新创建此错误:
然后在一个新的终端:
meteor shell
> var geo = new GeoCoder()
> geo.geocode('29 champs elysée paris')
[ { formattedAddress: '29 Av. des Champs-Élysées, 75008 Paris, France',
....
zipcode: '75008' } ]
> geo.reverse(45.767, 4.833)
stream.js:94
throw er; // Unhandled stream error in pipe.
^
Error: read ECONNRESET
at errnoException (net.js:905:11)
at TCP.onread (net.js:559:19)
这是一个不同的错误,但它仍然不起作用,也许这是根本原因
我最近升级到流星1.2。这段代码在Meteor1.1下运行良好
任何帮助都将不胜感激。我完全不知所措。目前最简单的解决方法是将包克隆到项目目录中的“packages”文件夹,并更改错误的行geocoder.js:34。应该是这样的:
g.reverse({lat: lat, lon: lng}, callback);
我希望aldeed能尽快在github解决这个问题。我现在就试着做公关。结果是一个bug。由软件包维护人员修复:)当我键入此内容时,在
g.reverse({lat: lat, lon: lng}, callback);