Ruby on rails 显示视图中的gmaps4rails
我想在show视图中放置一个gmaps4rails地图,但在使用当前位置构建标记时遇到了问题。我找不到关于这个话题的任何东西。有可能吗?(很抱歉,我是一个完全的初学者) 到目前为止,我就是这么做的Ruby on rails 显示视图中的gmaps4rails,ruby-on-rails,ruby,google-maps,gmaps4rails,Ruby On Rails,Ruby,Google Maps,Gmaps4rails,我想在show视图中放置一个gmaps4rails地图,但在使用当前位置构建标记时遇到了问题。我找不到关于这个话题的任何东西。有可能吗?(很抱歉,我是一个完全的初学者) 到目前为止,我就是这么做的 def show @comments = @spot.comments @photos = @spot.photos @hash = Gmaps4rails.build_markers(@spot) do |spot, marker| marker.lat spot.latitude
def show
@comments = @spot.comments
@photos = @spot.photos
@hash = Gmaps4rails.build_markers(@spot) do |spot, marker|
marker.lat spot.latitude
marker.lng spot.longitude
marker.infowindow spot.name
end
编辑:
视图:
handler=Gmaps.build('Google');
buildMap({provider:{},internal:{id:'map'}},function(){
var marker=handler.addMarker();
handler.map.centerOn(marker);
});
...
您必须将addMarker
替换为addMarkers
,因为您传递的arg是一个数组
如果传递对象,可以使用addMarker
但如果使用
addMarkers
将代码更改为:
var markers = handler.addMarkers(<%=raw @hash.to_json %>);
handler.map.centerOn(markers[0]);
var markers=handler.addMarkers();
handler.map.centerOn(markers[0]);
几个问题……你的物体,
@spot
,是否有纬度
和经度
?我写了一个关于这个问题的答案,这可能会让你们在这里受益@贾斯汀:是的。当在索引视图中使用“点”而不是“点”时,它都可以工作。好的,您当前是否收到错误消息?(还要检查javascript控制台)。确保定义了@spot
,确保您的show.html.erb
具有适用于GMap4Rails的javascript
(markers=handler.addMarkers();
)您能解释一下定义[@spot]@spot=spot.find(params[:id])
是什么意思吗。也许您可以从您的视图
、控制器
或错误
中粘贴更多代码,这将有助于我们更快地找到答案,而不仅仅是假设错误是什么,仍然没有标记出现,我得到了与以前相同的错误再次提供您的html请我猜这是有趣的部分handler=Gmaps.build('Google');handler.buildMap({provider:{},internal:{id:'map'},function(){var marker=handler.addMarkers([{“lat”:50.0510570000001,“lng”:19.941979}]);handler.map.centerOn(marker);})代码>
var markers = handler.addMarkers(<%=raw @hash.to_json %>);
handler.map.centerOn(markers[0]);