2017-03-04 165 views
0

我找不出如何更改Google地圖的標記圖標。 這是我的代碼。大部分標記已經顯示。我只想更改我目前的位置。如何自定義Google地圖標記圖標?

控制器

def restaurant_nearby 
     @restaurants = Restaurant.near(params[:lat], params[:lng], params[:num], params[:lang]) 
     @hash = Gmaps4rails.build_markers(@restaurants.to_hash) do |r, marker| 
         marker.lat r["lat"] 
         marker.lng r["lng"] 
         marker.infowindow render_to_string(partial: "area/infowindow", locals: { place: r }) 
         marker.json({title: r["restaurantname"]}) 
     end 

     @hash_current_pos = { 
         lat: params[:lat], 
         lng: params[:lng], 
         icon: '/here.png', 
         infowindow: render_to_string(partial: "area/infowindow_current_pos"), 
         title: "You are here" 
     } 

     @hash = @hash.push(@hash_current_pos) 

     content = render_to_string(:partial => 'area/restaurant_map', locals: {hash: @hash}) 
     render json: {html: content}, status: :ok 
    end 

這裏是視圖腳本。 面積/ _restaurant_map.html.slim

javascript: 
    jQuery(function(){ 

     mapStyle = [[{"featureType":"administrative.country","elementType":"geometry.fill","stylers":[{"saturation":"-35"}]}]]; 

     handler = Gmaps.build('Google'); 
     handler.buildMap({ provider: {styles: mapStyle}, internal: {id: 'map'}}, function(){ 
     markers = handler.addMarkers(#{raw hash.to_json}); 
     handler.bounds.extendWith(markers); 
     handler.fitMapToBounds(); 
     handler.getMap().setZoom(15); 
     }); 
}); 

/! Le HTML5 shim, for IE6-8 support of HTML elements 
/[if lt IE 9] 
    = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" 

我會很感激的任何建議。

回答

-1

如果你只是想自定義谷歌的圖標,你可以設置一個sizecolor

否則,markers=icon:URLofIcon|markerLocation

URLofIcon是圖標的網址,你想用,這應該是URL編碼(使用縮短服務,這將可能爲您編碼URL,並使代碼看起來好多了)

+0

您的答案應該更好地指定,即放置解決方案的位置,一些代碼示例。 – Massimo

0

最後,我解決了。喜歡這個。

@hash_current_pos = { 
         lat: params[:lat], 
         lng: params[:lng], 
         picture: {url: '/here.png', width: 140, height: 180}, 
         infowindow: render_to_string(partial: "area/infowindow_current_pos"), 
         title: "You are here" 
     } 

讚賞所有貢獻!