Google Maps v3 ImageMapType Prevent Wrapping
Próbuję odtworzyć zachowanie widoczne w:
http://forevermore.net/articles/photo-zoom/
Umożliwia panoramowanie i powiększanie zdjęcia, ale ogranicza panoramowanie do granic zdjęcia.
Powyższy przykład używa kodu google maps v2.
Wygląda na to, że musiałbym wykonać następujące czynności:
google.maps.event.addListener(map, 'dragend', function()
{
//Get bounds and not allow dragging
});
(Jak widać tutaj:Jak ograniczyć panoramowanie w Google Maps API V3?)
Moim problemem jest:
Obrazy, które będą panoramowane / powiększane, mają dynamiczny rozmiar, chcę ogólne rozwiązanie (jeśli to możliwe)Jeśli nie można uzyskać ogólnego rozwiązania, w jaki sposób określić prawidłowe granice LatLon dla obrazu?
Oto, co mam do tej pory:
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');
});
Działa dobrze, po prostu pozwala użytkownikowi przewinąć poza zdjęcie.