Google Places API удаляет sublocality_level_1 в некотором адресе.Зачем? - PullRequest
0 голосов
/ 28 мая 2018

Я использую форму Place Autocomplete Address Form для получения информации об адресе.

Работает нормально, но по некоторым адресам sublocality_level_1 не возвращается.

Адрес 1: Rua Barão de Ipanema - Копакабана, Рио-де-Жанейро - штат Рио-де-Жанейро, Бразилия

  • Улица: Rua Barão de Ipanema (addressType): маршрут)
  • Окрестности: Копакабана (addressType: sublocality_level_1)
  • Город: Рио-де-Жанейро (addressType: administrator_area_level_2)
  • Государство: штат Рио-де-Жанейро (addressType: административный_область))
  • Страна: Бразилия (addressType: страна)

Адрес 2: Rua Clarimundo de Melo - Пьедаде, Рио-де-Жанейро - штат Рио-де-Жанейро,Бразилия

  • Улица: Rua Clarimundo de Melo (addressType: route)
  • Окрестности: Piedade ( отсутствует sublocality_level_1 addressType )
  • Город: Риоде Жанейро (addressType:dministrative_area_level_2)
  • Штат: штат Рио-де-Жанейро (addressType: administrator_area_level_1)
  • Страна: Бразилия (addressType: страна)

В Рио-де-Жанейро, "Копакабана""и" Piedade "являются районами.Это тот же тип информации.

У нас есть другие примеры:

  • Av.Виейра Соуто - Ипанема, Рио-де-Жанейро - штат Рио-де-Жанейро, Бразилия (правильно возвращает sublocality_level_1 - Ипанема)
  • Эстрада Адемар Бебиано - Дель-Кастильо, Рио-де-Жанейро - штат Рио-де-Жанейро, Бразилия (DONOT Возвращает sublocality_level_1 - Del Castilho)

"Copacabana", "Piedade", "Ipanema" и "Del Castilho" являются соседями.

Но, если я вставлю STREET NUMBERsublocality_level_1 возвращается.См. Пример: Руа Кларимундо де Мело, 460 - Пьедаде, Рио-де-Жанейро - штат Рио-де-Жанейро, Бразилия

Все эти тесты были выполнены на странице примера API Google Places: https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform

Я вставляю адрес и с помощью Google Chrome Inspector вижу возвращаемые значения.

2 другие любопытные вещи:

  • Форматированный адрес: formatted_address: "Rua Clarimundo de Melo, Rio de Janeiro - RJ, Brazil" - отличается значение в поле ввода адреса
  • Строка запроса в URL отличается от поля ввода адреса: url: "https://maps.google.com/?q=Rua+Clarimundo+de+Melo,+Rio+de+Janeiro+-+RJ,+Brazil&ftid=0x997d3beb826455:0xbe0de6bc2d7d1c22"

Не знаю почему4 адреса, с одинаковой структурой, имеют разные возвраты.

Кто-то знает почему?Я ценю любую помощь.

РЕДАКТИРОВАТЬ 1 - СИЛЬНЫЙ СЮСПЕКТ

Множество окрестностей

Что-то сейчас у меня в голове.«Rua Clarimundo de Melo» и «Estrada Adhemar Bebiano» пересекают некоторые районы.

«Rua Barão de Ipanema» и «Av. Vieira Souto» пересекают только один район.

Я тестировал с 2другие улицы:

  • "Avenida Ataulfo ​​de Paiva - Леблон, Рио-де-Жанейро - штат Рио-де-Жанейро, Бразилия" - пересечь только Леблон (район) и вернуть sublocality_level_1

  • "Avenida Atlântica - Леме, Рио-де-Жанейро - штат Рио-де-Жанейро, Бразилия" - пересечь 2 района (Леме и Копакабана) и НЕ возвращать sublocality_level_1.

Это подозрение, потому что нигде не документировано.Вот почему это просто подозрение.Сильное подозрение, но подозрение.

Если мое подозрение верное, почему не возвращает окрестность, если пользователь вручную вставил окрестность во входные данные?

Это не ясно.Пользователь печатает окрестности ...

Обратный геокод

Я проверяю адрес в Geocoder Tools .sublocality_level_1 еще не возвращено.НО, если я положу координаты в обратный геокод , vòila , sublocality_level_1 возвращается.

Возможно, это решение, но я не знаю, является ли это правильным решением.Потому что мне нужно будет сделать 2 запроса к API Google Адресов, чтобы получить информацию о местонахождении, а количество запросов ограничено на месяц.2 запроса приводят к недостаточной эффективности.

  • Запрос 1: получить информацию об адресе.
  • Запрос 2: Если не имеет sublocality_level_1, используйте геокод с уважением, чтобы получить полный адресинформация.
...