我想在展示视图中放置gmaps4rails地图,但是在用当前点位置构建标记时遇到了问题。我找不到关于该主题的任何内容。有可能吗?(很抱歉成为一个完整的初学者)
到目前为止,这就是我尝试过的方法。
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
编辑:
看法:
<script src="//maps.google.com/maps/api/js?v=3.13&sensor=false&libraries=geometry" type="text/javascript"></script>
<script src='//google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.0.14/src/markerclusterer_packed.js' type='text/javascript'></script>
<div class="container">
<p id="notice"><%= notice %></p>
<div class="row galleria">
<%= render_gallery_for @photos %>
</div>
<div style='width: 800px;'>
<div id="map" style='width: 800px; height: 400px;'></div>
</div>
<script type="text/javascript">
handler = Gmaps.build('Google');
handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
var marker = handler.addMarker(<%=raw @hash.to_json %>);
handler.map.centerOn(marker);
});
</script>
...
您必须替换为addMarker
,addMarkers
因为要传递的arg是一个数组。
addMarker
如果传递对象,则可以使用。
但是,如果您使用addMarkers
将代码更改为:
var markers = handler.addMarkers(<%=raw @hash.to_json %>);
handler.map.centerOn(markers[0]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句