我是编码新手。我正在使用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 -->
答案 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
遗憾的是,解决这个问题的时间非常漫长而艰巨,但只要付出一点努力就可以做到这一点!