Google Maps v3 ImageMapType Impede o empacotamento

Eu estou tentando replicar o comportamento visto em:

http://forevermore.net/articles/photo-zoom/

Ele permite o deslocamento e o zoom de uma foto, mas limita o movimento aos limites da foto.

O exemplo acima usando o código do google maps v2.

Parece que eu teria que fazer o seguinte:

google.maps.event.addListener(map, 'dragend', function() 
{
    //Get bounds and not allow dragging

});

(Como visto aqui:Como limitar o pan na API de mapas do Google V3?)

Meu problema é:

Imagens que serão panorâmicas / ampliadas são dinâmicas em tamanho, eu quero uma solução genérica (se possível)

Se não for possível ter uma solução genérica, como determino os limites corretos de LatLon para uma imagem?

Aqui está o que eu tenho até agora:

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');
});

Funciona bem, apenas permite ao usuário rolar para fora da foto.

questionAnswers(2)

yourAnswerToTheQuestion