Как сделать окно поиска для gmaps4rails

Я новичок в кодировании. Я работаю с gmaps4rails API. Я пытаюсь создать окно поиска местоположения для gmaps4rails, и я не могу найти способ, как это сделать. Я создал базовую карту. Я также создал форму для @place, чтобы пользователь мог ввести местоположение, но когда я нажимаю «Отправить», ничего не происходит. Я знаю, что есть еще много вещей, которые нужно сделать, но я, честно говоря, не понимаю, что это такое. Согласно журналу консоли, у меня нет никаких ошибок. Я хотел бы сделать так, чтобы когда пользователь нажимал кнопку «Отправить», карта приближалась к этому месту/области на карте. Я честно понятия не имею, что делать дальше. Я был бы признателен, если бы кто-нибудь мог предоставить мне пример того, что мне нужно сделать. Заранее спасибо.

Пожалуйста, смотрите ниже мою форму, которая у меня есть.

<!-- START OF SEARCH FORM -->
  <%= form_for @place do |f| %>
   <% if @place.errors.any? %>
    <% @place.errors.full_messages.each do | msg | %>
     <p><%= msg %></p>
   <% end %>
 <% end %>

  <%= f.text_field :address, placeholder: "Where Are You?" %>
<br>

 <%= f.submit %>
<% end %>

  <!-- END OF SEARCH FORM -->

person IReallyDoLoveCoding    schedule 19.08.2015    source источник


Ответы (1)


Вам нужно будет использовать jquery, если вы хотите, чтобы вам не приходилось обновлять страницу каждый раз, когда пользователь вводит адрес, что в настоящее время требуется вашему коду.

Первым делом нужно создать окно поиска, вы можете сделать это с помощью хелперов rails, как вы сделали, или с помощью простого html.

Затем вам нужно связать окно поиска либо по его классу, либо по идентификатору внутри функции jquery, и обрабатывать случаи, когда пользователь вводит местоположение/нажимает ввод.

Я настоятельно рекомендую вам взглянуть на гем geocoder, который извлекает широту и долготу из любого адреса, который пользователь вводит в поле поиска. Документы находятся здесь: https://github.com/alexreisner/geocoder. В Google также есть немало примеров, посмотрите их, чтобы помочь вам начать работу.

Вы будете использовать методы .getMap().setZoom(...) и .map.centerOn(markers[...]) gmaps4rails. Посмотрите в документации примеры увеличения маркеров: https://github.com/apneadiving/Google-Maps-for-Rails

Решение для этого, к сожалению, довольно длинное и сложное, но, приложив немного усилий, вы сможете это сделать!

person ifma    schedule 19.08.2015
comment
Большое спасибо! Я действительно ценю это. Я попробую все, что вы сказали, и обновлю свой пост, как только я заставлю его работать. - person IReallyDoLoveCoding; 19.08.2015