Hola,
Una opción:
modificar la llamada a changepicturecallback en la version de desarrollador de prettyphoto, para pasar el valor del href del enlace:
Código Javascript
:
Ver originallínea 537
settings.changepicturecallback(); // Callback!
cambiar por:
Código Javascript
:
Ver originalsettings.changepicturecallback(pp_images[set_position]); // Callback!
con eso uno puede leer como parametro en la funcion changepicturecallback el href del enlace, y para recuperar el parametro requerido se puede usar la funcion getParam que esta definida en el mismo prettyphoto:
Código Javascript
:
Ver originalfunction getParam(name,url){
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( url );
return ( results == null ) ? "" : results[1];
}
entonces la llamada a prettyphoto puede cambiar a:
Código Javascript
:
Ver original$("#googlemaps a[rel^='prettyPhoto']").prettyPhoto({theme:'pp_default',animation_speed:'slow',
custom_markup: '<div id="map_canvas" style="width:600px; height:480px"></div>',
changepicturecallback: function(e){
initialize(getParam("lat",e), getParam("lng",e));
}});
y la funcion initialize:
Código Javascript
:
Ver originalfunction initialize(lat,lng) {
var latlng = new google.maps.LatLng(lat,lng);
var myOptions = {
zoom: 16, /* Nivell de zoom */
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP /* tipus de mapa */
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
}
y luego la ubicacion puede definirse en el href:
Código HTML:
Ver original<div class="galery_clearfix" id="googlemaps"><a href="#?custom=true&width=600&height=480&lat=41.287276&lng=1.251579" rel="prettyPhoto" title="">Ampliar mapa
</a></div> <div class="galery_clearfix" id="googlemaps"><a href="#?custom=true&width=600&height=480&lat=28.4189&lng=-81.581254" rel="prettyPhoto" title="">Otro mapa
</a></div>