如何为 gmaps4 rails 制作搜索框

How to make searchbox for gmaps4rails

我是编码新手。我正在使用 gmaps4rails api。我正在尝试为 gmaps4rails 创建一个位置搜索框,但我找不到任何方法。我已经创建了一个基本地图。我还为 @place 创建了一个表单,供用户输入一个位置,但是当我按下提交时,没有任何反应。我知道还有更多事情要做,但老实说,我不知道那是什么。根据我的控制台日志,我没有任何错误。我想这样做,以便当用户按下提交时,地图会缩放到地图上的 location/area。老实说,我不知道下一步该怎么做。如果有人能为我提供一个我需要做什么的例子,我将不胜感激。先感谢您。

请参阅下面我的表格。

<!-- 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 -->

如果需要,您需要使用 jquery,这样您就不必在每次用户输入地址时都刷新页面,这目前是您的代码所需要的。

首要任务是创建一个搜索框,您可以像之前那样使用 rails 帮助程序或使用简单的 html.

然后您需要通过 class 或 id 在 jquery 函数中绑定搜索框,并处理用户输入 location/presses 输入的情况。

我强烈建议您看一下 geocoder gem,它可以从用户输入搜索框的任何地址中提取纬度和经度。文档在这里:https://github.com/alexreisner/geocoder。 google 上也有很多示例,请查看它们以帮助您入门。

您将使用 .getMap().setZoom(...).map.centerOn(markers[...]) gmaps4rails 方法。查看文档以获取有关放大标记的示例:https://github.com/apneadiving/Google-Maps-for-Rails

不幸的是,这个问题的解决方案相当漫长和艰巨,但只要稍加努力,您应该能够做到!