1

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

1 回答 1

0

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

首要任务是创建一个搜索框,您可以像以前那样使用 Rails 助手或简单的 html 来完成此操作。

然后,您需要在 jquery 函数中通过其类或 id 绑定搜索框,并处理用户键入位置/按 Enter 键的情况。

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

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

不幸的是,这个问题的解决方案相当漫长而艰巨,但只要付出一点努力,你应该能够做到!

于 2015-08-19T05:30:01.850 回答