Uber API 无效的纬度和经度

Uber API invalid latitude and longitude

我正在尝试在输入地址时在 Node.JS 中制作一个脚本,它会告诉您您所在位置的产品。但是我得到 [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);
});
});

UPDATE: As of May 17th, the method getAllForLocation does not check for lat & lon validity anymore. It's up to the Uber API endpoint to decide if the values should be taken.

我为 node-uber 项目做出了贡献。 getAllForLocation 方法使用 RegEx 来识别纬度和经度值是否在正确的范围内。它创建一个“[lat],[long]”字符串并尝试匹配此 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 ?

我刚刚用 google 作为地理编码提供者检查了一些示例地址,但我无法重现错误。