Как определить, будут ли длинные координаты lat на дороге с API Карт Google v2

Я использовал гео-адрес Google, и использование lat/long получило адрес. Как определить, нет ли я на дороге? В основном хит-тест для дороги? В настоящее время я использую диспетчер местоположений для lat/long, а GeoAddress - тот же, что и на дороге и рядом с дорогой.

Ответ 1

Окончательное решение

Используйте обратное геокодирование через API геокодирования Google.

Термин геокодирование обычно относится к переводу удобочитаемого человека адрес в местоположение на карте. Процесс выполнения обратного, перевод местоположения на карте в удобочитаемый для человека адрес, известный как обратное геокодирование.

API геокодирования поддерживает обратное геокодирование непосредственно с помощью latlng параметр. Например, следующий запрос содержит значение широты/долготы для местоположения в Бруклине:

http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true_or_false

В документах объясняется, как интерпретировать результаты json, но StackOverflow имеет различные ответы, в которых рассматриваются более эффективные способы анализа данных.

Возможные решения

Результаты быстрого поиска

Неразрешенные подобные вопросы

Ответ 2

Смотрите скрипт.

Это проще сделать с помощью OSRM (ближайшего) webservice. Сделайте запрос GET, например:

const url = '//router.project-osrm.org/nearest/v1/driving/';
fetch(url + coord.lon + ',' + coord.lat).then(function(response) { 
  return response.json();
}).then(function(json) {
  if (json.code === 'Ok') {
    console.info(json.waypoints[0].location);
  }
});

Это координата дороги/улицы.

Ссылки — Project-OSRM