Google Maps v3 ImageMapType previene el envoltorio

Estoy tratando de replicar el comportamiento visto en:

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

Permite el zoom y el zoom de una foto, pero limita el panorama a los límites de la foto.

El ejemplo anterior utiliza el código v2 de google maps.

Parece que tendría que hacer lo siguiente:

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

});

(Como se ve aquí:¿Cómo limito el paneo en Google maps API V3?)

Mi problema es:

Las imágenes que se panoramizarán / ampliarán son de tamaño dinámico, quiero una solución genérica (si es posible)

Si no es posible tener una solución genérica, ¿cómo puedo determinar los límites de LatLon correctos para una imagen?

Aquí está lo que tengo hasta ahora:

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 bien, solo permite que un usuario se desplace fuera de la foto.

Respuestas a la pregunta(2)

Su respuesta a la pregunta