使用 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}
}