0

В моем приложении rails у пользователей есть несколько клиентов. Если пользователь вошел в систему, на домашней странице я показываю карту google с указанием местоположения своих клиентов. Он отлично работает с использованием gmaps4rails gem.рельсы 3 + gmaps4rails: отображать текущее местоположение клиента на карте?

Но для первого входа у пользователя не будет клиентов, а на карте отображается вид на океан. В отличие от этого, если клиент не создан, я хочу отобразить текущее местоположение пользователя, откуда он обращается к моему рельсовому приложению.

Как исправить эту проблему?

ответ

1

Довольно простой

просто я должен написать

<%# view %> 
<% if current_user.customers.present? %> 
    <%= gmaps4rails(@json) %> 
<% else %>  
    <%= gmaps(:map_options => {:detect_location => true, :center_on_user => true, :auto_zoom => false, :zoom => 12, :auto_adjust => true}, :markers => {:data => @json}) %> 
<% end %> 

И добавить яваскрипта автодозвон как:

<script type="text/javascript" charset="utf-8"> 
    // display map of current location if customers is not present 
    $(document).ready(function(){ 
    Gmaps.map.callback = function() { 
     Gmaps.map.createMarker({Lat: Gmaps.map.userLocation.lat(), 
       Lng: Gmaps.map.userLocation.lng(), 
       rich_marker: null, 
       marker_picture: "" 
     }); 
    } 
    }); 
</script> 
Смежные вопросы