如何为gmaps4rails制作搜索框

时间:2015-08-19 03:58:19

标签: ruby-on-rails gmaps4rails search-box

我是编码新手。我正在使用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 -->

1 个答案:

答案 0 :(得分:0)

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

第一项业务是创建一个搜索框,你可以使用像你一样的rails帮助程序或使用简单的html来执行此操作。

然后你需要在jquery函数中通过它的类或id绑定搜索框,并在用户键入某个位置时按处理输入。

我强烈建议您查看地理编码器 gem,它会从用户键入搜索框的任何地址中提取纬度和经度。文档在这里:https://github.com/alexreisner/geocoder。谷歌也有相当多的例子,请检查它们以帮助你开始。

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

遗憾的是,解决这个问题的时间非常漫长而艰巨,但只要付出一点努力就可以做到这一点!