Uber API无效经度和纬度

我试图在input地址时在Node.JS中创build一个脚本,它告诉你在你所在的地方的产品。 但我得到[Error: Invalid latitude & longitude]我这样做与地理编码,但每次我运行相同或不同的地址的应用程序,我明白了。 这是代码

 var Uber = require('node-uber'); var geocoderProvider = 'google'; var uber = new Uber({ client_id: 'KEY', client_secret: ' key', server_token: 'key', redirect_uri: 'uri', name: 'Uber product list' }); var httpAdapter = 'http'; var geocoder = require('node-geocoder')(geocoderProvider, httpAdapter); geocoder.geocode('Address', function(err, res) { console.log(res); var latitude = res[0]["latitude"] var longitude = res[0]["longitude"] console.log(latitude); console.log(longitude); uber.products.getAllForLocation(latitude, longitude, function (err, res) { if (err) console.error(err); else console.log(res); }); }); 

更新 :截至5月17日 ,方法getAllForLocation不再检查经度有效性了。 由Uber API端点决定是否应该采取这些值。

我为节点超级计划做出了贡献。 getAllForLocation方法使用RegEx来确定getAllForLocation值是否落入正确的范围。 它会创build一个“[lat],[long]”string,并尝试匹配此RegEx(取自Iain Fraser ):

^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$

你介意检查你的具体值是否匹配在这里: https : //regex101.com/r/wQ8bX9/1 ?

我只是检查一些示例地址与谷歌作为地理编码提供商,但我不能重现错误。