通常、マップを垂直方向にスクロール/ズームアウトすることができます。灰色の背景があります。私はそれを「無効化/ブロック」しました。
Googleマップのコントロールを使用すると、これはうまく機能します。しかし、マウス ホイールでズームするとバグが発生し、マップをズームアウトできるため、灰色の領域が表示されます。
これが実際の例です:例
マウスホイールのズームを無効にせずにどうすれば修正できますか?
画像:
THEME.gmap.position = function () {
var allowedBounds;
var lastCenter;
var lastZoom;
var initCenter;
var initZoom;
function checkBounds() {
if (THEME.base.isUndefined(allowedBounds)) {
return false;
}
if (allowedBounds.getNorthEast().lat() > THEME.gmap.google_map.getBounds().getNorthEast().lat()) {
if (allowedBounds.getSouthWest().lat() < THEME.gmap.google_map.getBounds().getSouthWest().lat()) {
lastCenter = THEME.gmap.google_map.getCenter();
lastZoom = THEME.gmap.google_map.getZoom();
return true;
}
}
THEME.gmap.google_map.panTo(lastCenter);
THEME.gmap.google_map.setZoom(lastZoom);
return false;
}
return {
createLatLng:function (lat, lng) {
return new google.maps.LatLng(lat, lng);
},
centerMap:function (latLng) {
THEME.gmap.google_map.setCenter(latLng);
},
setLimit:function () {
allowedBounds = new google.maps.LatLngBounds(
this.createLatLng(-85.0511, -122.591),
this.createLatLng(85.0511, -122.333)
);
initCenter, lastCenter = THEME.gmap.google_map.getCenter();
initZoom, lastZoom = THEME.gmap.google_map.getZoom();
google.maps.event.addListener(THEME.gmap.google_map, 'bounds_changed', function () {
checkBounds();
});
google.maps.event.addListener(THEME.gmap.google_map, 'center_changed', function () {
checkBounds();
});
}
};
}();