Google 地图:全屏 + fitBounds 不适合边界

Google Maps: full screen + fitBounds does not fit bounds

我有一张地图显示带有 markerClusterer 的标记。

在普通视图中一切正常,但在全屏模式下,单击群集会运行 "fitBounds" 并且缩放未正确更改(缩小而不是放大)。

代码:

var mapOptions = {
    zoom: 17,
    minZoom: 4,
    maxZoom: 20,
    center: {lat: 0, lng: 0},
    fullscreenControl: true
}

var mcOptions = {
    gridSize: 20,
    styles: clusterStyles,
    maxZoom: 20
};

var bounds = new google.maps.LatLngBounds();

function initialize(itensJSON){

    var map = new google.maps.Map(document.getElementById("map"), mapOptions);

    $.each(itensJSON, function (i, item) {
        var marker = new google.maps.Marker({
            position: item.location,
            id: item.id
        });
        markers.push(marker);
        bounds.extend(marker.getPosition());
    });

    map.fitBounds(bounds);
    markerClusterer = new MarkerClusterer(map, markers, mcOptions);
}

html:

<div id="map_container" style="position: absolute; width: 100%; height: 80%;">
      <div id="map" style="width: 100%; height: 100%">
      </div>
  </div>

在 markerclusterer.js 的 'triggerClusterClick' 中运行 fitbounds 时发生缩小而不是放大:

ClusterIcon.prototype.triggerClusterClick = function(event) {
  var markerClusterer = this.cluster_.getMarkerClusterer();

  // Trigger the clusterclick event.
  google.maps.event.trigger(markerClusterer, 'clusterclick', this.cluster_, event);

  if (markerClusterer.isZoomOnClick()) {
    // Zoom into the cluster.
    this.map_.fitBounds(this.cluster_.getBounds());
  }
};

有谁知道发生了什么事吗?

PS:使用 "fullscreenControl"(在选项映射中启用)

更改为全屏

有问题的示例:fiddle

在 div 地图

的高度中使用“% measure”时会出现问题

我是这样解决问题的:

html, body {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}

解决方案示例:fiddle