Я установил gmaps4rails gem
в своем приложении и хотел бы показать карту Google вместе с маркером в модале начальной загрузки.
Я получил модальное окно для всплывающего окна вместе с картой, но по какой-то причине карта не показывает маркер, и карта загружается неправильно. Любые идеи о том, как это исправить ???
Вот что я делаю:
get "location" => 'locations#map_modal', :as => :location
def map_modal
@hash = Gmaps4rails.build_markers(@account) do |account, marker|
marker.lat account.latitude
marker.lng account.longitude
marker.infowindow "#{account.full_address}"
end
respond_to do |format|
format.html
format.js {render 'map_modal.js.erb'}
end
end
<%= link_to " Location", location_path, {:remote => true, 'data-toggle' => "modal", 'data-target' => '#map_modal', class: 'fa fa-map-marker'} %>
<div id="map_modal" class="modal hide fade" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" tabindex="-1">
<div class="modal-dialog" role="document">
<div class="modal-content"></div>
</div>
</div>
_map_modal.html.erb
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">x</button>
</div>
<div class="modal-body">
<div id="map"></div>
</div>
<div class="modal-footer">
</div>
map_modal.js.erb
$("#map_modal").find(".modal-content").html("<%= j (render 'map_modal', locals: { account: @account }) %>");
$("#map_modal").modal();
$('#map_modal').on('shown.bs.modal', function (e) {
handler = Gmaps.build('Google');
handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
markers = handler.addMarkers(<%=raw @hash.to_json %>);
handler.bounds.extendWith(markers);
handler.fitMapToBounds();
handler.getMap().setZoom(12);
});
});