Gmaps4Railsを使用して、属性に基づいて表示/非表示にできるいくつかのマーカーがあります。それはうまくいきます。Gmaps.map.adjustMapToBounds()
ただし、現在表示されているマーカーを設定した後に呼び出されて、現在のマーカーのセットに自動調整するようにマップを取得しようとしています。
アイテムをフィルタリングすると、実際にはフィルタリングされたマーカーだけが表示されますが、マップ全体がすべてのマーカーを表示しているかのように表示されます。境界を設定するときに非表示のマーカーを考慮するためだと思いますが、間違っている可能性があります。
これが私のフィルタリングコードです:
$("select").change(->
currentFilters = $('select').val()
hideAllMarkers()
visibleMarkers()
Gmaps.map.adjustMapToBounds()
)
visibleMarkers = ->
filtered = Gmaps.map.markers
filtered = _.filter(filtered, (marker) ->
_.include(currentFilters, marker.market)
)
_.each filtered, (marker) ->
Gmaps.map.showMarker marker
hideAllMarkers = ->
_.each Gmaps.map.markers, (marker) ->
Gmaps.map.hideMarker marker
そして、これが私がマップを初期化するオプションです:
@gmap_options = {"map_options" => {
"auto_zoom" => true,
"auto_adjust" => true,
"mapTypeControl" => true,
"detect_location" => true,
"center_on_user" => true},
"markers" => {"data" => @map}
}