如何让用户使用Gmaps4Rails选择目的地?

时间:2011-06-06 17:31:34

标签: ruby-on-rails ruby ruby-on-rails-3 google-maps gmaps4rails

我有这个型号:

class Location < ActiveRecord::Base
  acts_as_gmappable
  def gmaps4rails_address
    "#{self.city}, #{self.country}"
  end
end

拥有此架构:

t.float    "latitude"
t.float    "longitude"
t.boolean  "gmaps"
t.datetime "created_at"
t.datetime "updated_at"
t.string   "country"
t.string   "city"
t.string   "street"

我想允许用户指定一个起点和一个结束点,然后给它两者之间的距离。我想让他在地图上选择它们。你能指导我完成这个吗?

1 个答案:

答案 0 :(得分:1)

没有直接的方法来实现gmaps4rails所需的功能,至少不是它的两个部分:

  • 点击地图并创建属于你的标记

  • 一旦你检索到两个地方,
  • 可以由宝石处理显示目的地。

在您的视图中,您应该添加以下ruby代码(仅作为示例使用以下选项,此处助手的唯一目的是创建地图):

<%= gmaps( "map_options" => { "center_on_user" => true, "zoom" => 5 }) %>

然后你可以包含javascript:

//starting point
Gmaps4Rails.direction_conf.origin = from_var_string;
//where to go
Gmaps4Rails.direction_conf.destination = to_var_string;
//if you want to display a panel with the instructions
Gmaps4Rails.direction_conf.display_panel = true;
//pass here the id of the panel
Gmaps4Rails.direction_conf.panel_id = 'instructions';
//set the travel mode
Gmaps4Rails.direction_conf.travelMode = 'DRIVING';
//add one or more waypoints
Gmaps4Rails.direction_conf.waypoints = [{"stopover":true,"location": waypoint1_string},{"stopover":true,"location": waypoint2_string}];
//trigger the creation
Gmaps4Rails.create_direction();