API карт Google и поиск по городу в разных регионах

У меня есть сайт, где люди могут покупать/продавать услуги в разных городах. Я использую google maps api v3, элементы автозаполнения и поля поиска, чтобы они могли выбрать город, сохранить его в базе данных и выполнить поиск по базе данных при покупке.

Проблема в том, что поиск в Google локализован, поэтому, когда пользователь ищет тот же город в другом регионе, он не найдет совпадения в моей БД.

Мое решение состояло бы в том, чтобы сопоставить каждый город с кодом (так же, как WOEID Yahoo) и сохранить его в моей базе данных, таким образом, межрегиональный поиск был бы в порядке, но я не смог найти ничего подобного в справочнике API карт Google.

Итак, есть ли способ продолжать использовать карты Google, мне нужно переключиться на yahoo, или есть другое решение для перекрестного поиска по локали, о котором я не знаю??

Спасибо, Дарио.


person Dariomarciano    schedule 26.03.2014    source источник
comment
Используя библиотеку Places, я думаю, вы получаете идентификатор вместе с местом, которое вы искали. Вы проверили это?   -  person MrUpsidown    schedule 26.03.2014
comment
ты прав, спасибо. я использовал службу геокодирования, которая, как ни странно, не работает, но места - это то, что нужно. большое спасибо   -  person Dariomarciano    schedule 26.03.2014


Ответы (1)


При использовании библиотеки Places поиск возвращает PlaceResult объект с двумя свойствами, которые могу помочь тебе:

  1. id содержит уникальный идентификатор, обозначающий это место. Этот идентификатор нельзя использовать для получения информации об этом месте, но его можно использовать для консолидации данных об этом месте, а также для проверки подлинности места в ходе отдельных поисков. Поскольку идентификаторы могут время от времени меняться, рекомендуется сравнивать сохраненный идентификатор места с идентификатором, возвращенным в более поздних запросах сведений для того же места, и при необходимости обновлять его.

  2. ссылка содержит токен, который можно использовать для запросов к службе сведений в будущем. Этот токен может отличаться от ссылки, используемой в запросе к службе сведений. Рекомендуется регулярно обновлять сохраненные ссылки для Places. Хотя этот токен однозначно идентифицирует место, обратное неверно: у места может быть много действительных токенов ссылок.

Справочник по документации

Изменить:

Примечание. Поля id и reference устарели с 24 июня 2014 г. Они заменены новым идентификатором места, уникальным идентификатором, который можно использовать для ссылка на определенные места. Служба Places в Google Maps JavaScript API в настоящее время возвращает place_id во всех ответах и ​​принимает placeId в запросе сведений о месте. Вскоре после 24 июня 2015 г. сервис перестанет возвращать в ответах поля id и reference. Через некоторое время сервис больше не будет принимать reference в запросах. Рекомендуем как можно скорее обновить код, чтобы использовать новый идентификатор места вместо id и reference.

person MrUpsidown    schedule 26.03.2014
comment
спасибо, это отстой, что, в отличие от woeid, это может измениться со временем, но я думаю, что другого пути нет. - person Dariomarciano; 26.03.2014
comment
к сожалению, и идентификатор, и ссылка теперь устарели developers.google.com/places/documentation/search - person user151496; 06.02.2015
comment
Вы дочитали заметку до конца? Ответ отредактирован для справки. - person MrUpsidown; 06.02.2015