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.

questionAnswers(2)

yourAnswerToTheQuestion