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 作为地理编码提供者检查了一些示例地址,但我无法重现错误。
我正在尝试在输入地址时在 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 作为地理编码提供者检查了一些示例地址,但我无法重现错误。