2013-06-18 77 views
0

我正在使用rails 3.2.12中的gem「gmaps4rails」,我在map_options中設置了detect_location =「true」,但它沒有在用戶當前位置顯示任何標記。gmaps4rails detect_location沒有顯示標記

這裏是代碼:

<%= gmaps("map_options" => {"auto_adjust" => true, "detect_location" => true, "center_on_user" => true, "auto_zoom" => false, "radius" => 2500}, 
    "markers" => {"data" => @json, "options" => {"list_container" => "markers_list","randomize" => true,"max_random_distance" => 10000, "draggable" => true, "dblclick" => "latLng"} } 

如何使用標記爲用戶當前的位置顯示。

請幫幫我。 由於提前

回答

0

創業板「gmaps4rails」,如果我們給的選項"detect_location" => true,當頁面上的地圖加載,它顯示彈出用戶爲「允許應用程序使用你的位置」

和作爲選項給出是和否。

如果用戶選擇「是」,那麼地圖會以用戶位置爲中心。

現在,您要在此顯示用戶所在位置的標記,然後您必須自行添加標記。

這是可以做到如下:

控制器:

geo = request.location 
@latitude = geo.latitude 
@longitude = geo.longitude 

有了您的網頁加載,你可以添加標記爲用戶,這個回調。

當地圖載入頁面時,這會爲當前用戶位置添加標記。

- content_for :scripts do 
    %script{:type => "text/javascript"} 
    Gmaps.map.callback = function(){ 
    google.maps.event.addListenerOnce(Gmaps.map.serviceObject, 'idle', function(){ 
    /add user pin 
    var home_pin = [{picture: "current_user.png", width: 32, lat: "#{@latitude}", lng: "#{@longitude}"}]; 
    Gmaps.map.addMarkers(home_pin) 
    } 
    )}; 

希望這會對你有所幫助。

讓我知道你是否仍然面臨任何問題。

謝謝。