0

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

0 回答 0