Google Maps v3 ImageMapType Wrapping verhindern
Ich versuche, das Verhalten zu wiederholen, das bei gesehen wird:
http://forevermore.net/articles/photo-zoom/
Es ermöglicht das Schwenken und Zoomen eines Fotos, beschränkt das Schwenken jedoch auf die Grenzen des Fotos.
Das obige Beispiel mit Google Maps V2-Code.
Es scheint, als müsste ich Folgendes tun:
google.maps.event.addListener(map, 'dragend', function()
{
//Get bounds and not allow dragging
});
(Wie hier zu sehen:Wie beschränke ich das Schwenken in Google Maps API V3?)
Mein Problem ist:
Bilder, die geschwenkt / gezoomt werden, haben eine dynamische Größe. Ich möchte eine generische Lösung (falls möglich).Wie bestimme ich die korrekten LatLon-Grenzen für ein Bild, wenn es nicht möglich ist, eine generische Lösung zu haben?
Folgendes habe ich bisher:
var customTypeOptions = {
getTileUrl: function(coord, zoom) {
return "img/earth_tiles/tile-" + zoom + "-" + coord.x + "-" + coord.y + ".jpg";
},
tileSize: new google.maps.Size(256, 256),
maxZoom: 6,
minZoom: 0,
name: "Custom Map Type"
};
var customMapType = new google.maps.ImageMapType(customTypeOptions);
jQuery(document).ready(function(){
var myLatlng = new google.maps.LatLng(0, 0);
var myOptions = {
center: myLatlng,
zoom: 3,
disableDefaultUI: true,
zoomControl: true
};
var map = new google.maps.Map(document.getElementById("map"), myOptions);
map.mapTypes.set('custom', customMapType);
map.setMapTypeId('custom');
});
Es funktioniert gut, es erlaubt einem Benutzer nur, außerhalb des Fotos zu scrollen.