我正在使用带有Rails 3.0.9的gmaps4rails。我想根据纬度和经度坐标添加一个标记到地图,但我无法弄清楚我该怎么做。我设法只使用地图和地图。感谢。
我正在使用的代码:
应用程序/模型/ location.rb
class Location < ActiveRecord::Base
acts_as_gmappable :process_geocoding => false
def gmaps4rails_address
"#{self.latitude}, #{self.longitude}"
end
end
应用程序/控制器/ locations_controller.rb
def index
@json = Location.first.to_gmaps4rails
respond_to do |format|
format.html
end
应用程序/视图/位置/ index.html.erb
<%= gmaps4rails(@json) %>
location
模型包含以下字段:latitude, longitude, address
。
更新:我在阅读了一个关于标记的项目维基之后找到了解决方案。解决方案是使用自定义<%= gmaps %>
方法。我设法像这样使用它:
<%= gmaps({
"map_options" => { "type" => "ROADMAP", "center_longitude" => 28.9, "center_latitude" => 47.03, "zoom" => 12, "auto_adjust" => true},
"markers" => { "data" => @markers }
})
%>
在控制器中:
@markers = '[
{"description": "", "title": "", "sidebar": "", "lng": "28.8701", "lat": "47.0345", "picture": "", "width": "", "height": ""},
{"lng": "28.9", "lat": "47" }
]'
您可以根据需要自定义这些值。
答案 0 :(得分:0)
我认为你应该尝试geocoder gem而不是gmaps4rails https://github.com/alexreisner/geocoder http://www.rubygeocoder.com/
我认为它比gmaps4rails好多了