ich arbeite gerade an nem älteren Projekt weiter und mir ist da grad ein Problem aufgefallen.
Also ich hab als Background eine Google Map, und da kann man normalerweiße vertikal rausscrollen. Das hab ich nun einfach begrenzt und funktioniert auch soweit. Nur wenn ich mit dem Mausrad zoome komme ich trotzdem in den grauen Bereich auserhalb der Map, wenn man aber die Controls verwendet dann wird das erfolgreich "geblockt".
Was ich meine:
Script:
Code:
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();
});
}
};
}();






