所以我想改变地图上一个标记针的颜色,我有以下内容:
bool = false
@hash = Gmaps4rails.build_markers(@branches) do |branch, marker|
if bool == false
marker.lat x
marker.lng y
marker.infowindow "YOUR LOCATION"
marker.fillColor "blue"
bool = true
else
marker.lat branch.latitude
marker.lng branch.longitude
end
end
很遗憾,我收到错误:undefined method 'fillColor' for #<Gmaps4rails::MarkersBuilder::MarkerBuilder:0x00000018003f58>
我看到其他答案建议使用图片自定义标记,但这对我的情况来说似乎有些过分。
更新:
我已将以下内容添加到我的视图脚本中:
handler = Gmaps.build('Google');
handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
//markers = handler.addMarkers(<%=raw @hash.to_json %>);
var jsonCollection = <%= raw @hash.to_json %>;
var particularMarker = _.first(jsonCollection);
var collection = _.rest(jsonCollection);
var markers = handler.addMarkers(collection)
markers << handler.addMarker(particularMarker,{ opacity: 0.5 })
handler.bounds.extendWith(markers);
handler.fitMapToBounds();
});
我不确定fillColor是否是标记API中的一个选项,所以我尝试了不透明度 https://developers.google.com/maps/documentation/javascript/reference#MarkerOptions
我没有看到标记有任何变化,但我已经确认标记存在,如下图所示:
答案 0 :(得分:0)
它不是内置的,但也许你可以做类似的事情:
var jsonCollection = <%= raw @hash.to_json %>;
var particularMarker = _.first(jsonCollection);
var collection = _.rest(jsonCollection);
handler.addMarker(particularMarker,{ fillColor: 'blue' })
handler.addMarkers(collection)