Автозаполнение Google: выберите альтернативное место, выбранное на карте

Текущая ситуация

Я внедрил текстовое поле автозаполнения Google на веб-страницу, чтобы пользователи могли выбирать место Google и сохранять информацию об этом месте / адресе в своей учетной записи. По сути, пересечение демо-версии Place Autocomplete от Google с их демонстрацией Address Autocomplete Address

Из окна автозаполнения "поиск" пользователь ищет место (в данном случае establishment тип). Затем они получают список некоторых вариантов наиболее близкого соответствия - и могут выбрать правильный из списка.

Когда они "выбирают" место, это поднимает place_changed событие.

Благодаря этому событию я смог подключить слушателя, который показывает маркер карты на выбранном place и выскакивает InfoWindow,

Я изменил "по умолчанию" InfoWindow на мой собственный, который позволяет пользователю нажимать кнопку "Использовать", если он этого пожелает, - который затем заботится некоторый JavaScript и сохраняет необходимые данные в некоторых полях. По сути, все сделано в соответствии с документацией Google.

Все работает как надо, как хотелось бы (ура!).

Вот пример:

Автозаполнение с выбранным местом


Учти это...

Теперь предположим, что пользователь выбрал "соответствие" из выпадающего списка автозаполнения. Маркер карты добавляется, и карта затем фокусируется на нем, и InfoWindow с кнопкой "Использовать" всплывает (как указано выше).

Тем не менее, они решили не "использовать" его - они видели другое близлежащее место, которое они хотят использовать.

С карты пользователь может нажать на указанное альтернативное место, и другое InfoWindow всплывающее окно с отображением адреса и ссылки на "Просмотр в Картах Google".

Что-то вроде этого:

Автозаполнение альтернативного места выбрано

Примечание: я заметил содержание InfoWindow иногда могут варьироваться в зависимости от специальных типов заведений, таких как железнодорожные станции (адрес не указан - только некоторые символы, обозначающие его как железнодорожную станцию). Я не слишком беспокоюсь по этому поводу, так как, надеюсь, ответ на мой вопрос сделает это недействительным.


Проблема

Очевидно, что нажатие на другое место просто вызывает эту "альтернативу" InfoWindow - Я предполагаю, что событие запущено, и Google' JS обрабатывает его, запуская другое InfoWindow в выбранном месте.

Я думаю, что было бы гораздо лучше, если бы пользователь мог "использовать" это другое место, на которое он щелкнул, если он того пожелает. В настоящее время им придется "искать снова" это другое местоположение, по существу, чтобы получить тот же результат, что и первое изображение.

Нигде в Интернете я не могу найти способ манипулировать нажатием на альтернативное место.

Я пытался найти событие для прослушивания, а затем обработать (так же, как я показываю свой обычай InfoWindow от place_changed через мою собственную функцию обратного вызова).


Что я могу сделать?

Мне нужно знать следующее:

  • Какое событие происходит, когда на карте выбрано "альтернативное" местоположение?
  • Содержит ли это событие place объект, как в place_changed Аргументы событий?
  • Если так, могу ли я подключиться к этому событию, мимоходом сказал place в мою существующую функцию JavaScript, которая устанавливает маркер карты и открывает InfoWindow?

Заранее спасибо за помощь и предложения - с благодарностью принимаем, как всегда.

0 ответов

Другие вопросы по тегам