Dynamische Google Map mit benutzerdefinierten Kacheln verhindern das wiederholte Schwenken
Ich habe ein dynamisches Kachelset, in dem ich das Schwenken NICHT außerhalb seiner Grenzen zulassen möchte.
Der folgende Code bringt mich näher, aber der Benutzer kann immer noch horizontal außerhalb der strengen Grenzen scrollen, da er die Kartenmitte zum Vergleich verwendet
var strictBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(sw_lat, sw_lon),
new google.maps.LatLng(ne_lat, ne_lon)
);
google.maps.event.addListener(map, 'drag', function()
{
if (strictBounds.contains(map.getCenter())) return;
// We're out of bounds - Move the map back within the bounds
var c = map.getCenter(),
x = c.lng(),
y = c.lat(),
maxX = strictBounds.getNorthEast().lng(),
maxY = strictBounds.getNorthEast().lat(),
minX = strictBounds.getSouthWest().lng(),
minY = strictBounds.getSouthWest().lat();
if (x < minX) x = minX;
if (x > maxX) x = maxX;
if (y < minY) y = minY;
if (y > maxY) y = maxY;
map.setCenter(new google.maps.LatLng(y, x));
});