Uber API неверные широта и долгота

Я пытаюсь сделать скрипт на 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);
});
});

person MatejMecka    schedule 12.05.2016    source источник


Ответы (1)


ОБНОВЛЕНИЕ. Начиная с 17 мая, метод getAllForLocation больше не проверяет действительность широты и долготы. Конечная точка Uber API решает, следует ли принимать значения.

Я участвовал в проекте 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 в качестве поставщика геокода, но не могу воспроизвести ошибку.

person Alexander Graebe    schedule 13.05.2016
comment
Я ввел несколько адресов в США, Франция, Из города Куала-Лумпур, где доступен Uber (проверено на сайте Uber) - person MatejMecka; 22.05.2016
comment
Начиная с версии 0.9.4, в этом методе больше нет проверки долготы и широты. Uber API решает, следует ли брать значения. Пожалуйста, создайте проблему на GitHub, если вы все еще сталкиваетесь с какой-либо проблемой. Спасибо! - person Alexander Graebe; 22.05.2016