Otwieranie zdjęć z dymków google maps w prettyPhoto

0

Chciałbym otworzyć zdjęcie z google maps które wyświetlane jest w dymku nad lokalizacją za pomocą prettyPhoto. Jednak gdy próbuję je w ten sposób otworzyć to jest ono normalnie otworzone w nowym oknie. Co zrobić żeby zadziałało tak jak to opisałem?

<script type="text/javascript">   
		 
			var mapa; // obiekt globalny
			var dymek = new google.maps.InfoWindow();
			
			function dodajMarker(lat,lng,txt)
            {
				// tworzymy marker
				var opcjeMarkera =   
				{  
					position: new google.maps.LatLng(lat,lng),  
					map: mapa
				}  
				var marker = new google.maps.Marker(opcjeMarkera);
				marker.txt=txt;
				
				google.maps.event.addListener(marker,"click",function()
				{
					dymek.setContent(marker.txt);
					dymek.open(mapa,marker);
				});
				return marker;
            }
			
			function mapaStart()  
			{  
				var wspolrzedne = new google.maps.LatLng(51.75083948062855, 19.45953369140625);
				var opcjeMapy = {
					zoom: 10,
					center: wspolrzedne,
					mapTypeId: google.maps.MapTypeId.HYBRID
				};
				mapa = new google.maps.Map(document.getElementById("mapka"), opcjeMapy); 			
				
				<?php 
					$i=0;
					while(isset($lotniska[$i])){
				?>
					 var marker<?php echo $i; ?> = dodajMarker(<?php echo $lotniska[$i]['lotnisko_szerokosc'].','.$lotniska[$i]['lotnisko_dlugosc']; ?>
 ,'<?php echo '<strong style="font-size:14px;" >'.$lotniska[$i]['lotnisko_nazwa'].'</strong></br>'; echo $lotniska[$i]['lotnisko_opis'].'</br>';
echo '<a href="lotniska/'.$lotniska[$i]['lotnisko_id'].'.jpg" rel="prettyPhoto[art1]"><img alt="Lotnisko" class="image_dymek" src="lotniska/m'.$lotniska[$i]['lotnisko_id'].'.jpg" /></a>'; <!--Tutaj jest wyświetlane to zdjęcie-->
echo '<a href="http://'.$lotniska[$i]['lotnisko_strona'].'"  target="_blank">'.$lotniska[$i]['lotnisko_strona'].'</a>';
					 ?>');
				<?php $i++;} ?>
				
				google.maps.event.addListener(mapa,'click',function(zdarzenie)
				{
					if(zdarzenie.latLng)	
					{
						document.getElementById('dlugosc_geo').value=zdarzenie.latLng.lng();
						document.getElementById('szerokosc_geo').value=zdarzenie.latLng.lat();
					}
				});
			}  
		
		</script> 

Na stronie generuje się taki kod:

 var marker0 = dodajMarker(51.710012,19.519958,'<strong style="font-size:14px;" >Lotnisko 1</strong></br>opis</br><a href="lotniska/1.jpg" rel="prettyPhoto[art1]"><img alt="Lotnisko" class="image_dymek" src="lotniska/m1.jpg" /></a><a href="http://www.lotnisko1.pl"  target="_blank">www.lotnisko1.pl</a>')

Kod w dymku wygląda tak:

<div xmlns="http://www.w3.org/1999/xhtml" style="overflow: auto;">
<div class="model"><strong style="font-size: 14px;">Lotnisko 1</strong></div>
<div class="lotnisko_opis"><a href="lotniska/1.jpg" rel="prettyPhoto[art1]"><img src="lotniska/m1.jpg" class="image_dymek" alt="Lotnisko"/></a>Text jakiś.</div>
<a target="_blank" href="http://www.lotnisko1.pl">www.lotnisko1.pl</a></div>
0

nie chce mi się analizować całości, tym bardziej, że wygląda na to, że nie wkleiłeś całego kodu potrzebnego do diagnozy, ale na 99,999999999% po prostu pierwsze przypinasz zdarzenie do elementów z rel^=prettyPhoto, a dopiero później tworzysz te elementy.

po prostu jak już dodasz markery w javascript to dopiero wtedy wywyłuj funkcję od prettyPhoto, która przypina zdarzenia

0

A mógłbyś mi napisać jakąś podpowiedź jak to zrobić? :) Bo powiem szczerze, że nie bardzo rozumiem o co chodzi :(.

1

gdzieś w kodzie robisz mniej więcej coś takiego:

$("a[rel^='prettyPhoto']").prettyPhoto();

teraz wstaw takie samo przed linią
google.maps.event.addListener(mapa,'click',function(zdarzenie)
w Twoim kodzie

0

Udało się ! :) trzeba było dopisać:

				google.maps.event.addListener(marker,"click",function()
				{
					dymek.setContent(marker.txt);
					dymek.open(mapa,marker);
					$("a[rel^='prettyPhoto']").prettyPhoto();
				});
0

Tylko teraz mam problem. A mianowicie po otworzeniu dymku na google maps jak klikne w jakikolwiek a href="" to próbuje mi się otworzyć w prettyPhoto.
Nawet jeżeli rel nie jest ustawiony na prettyPhoto.

No i w konsoli błędów pojawia mi się błąd:
Błąd: uncaught exception: Error: Witrynie http://platform.twitter.com nie udzielono uprawnien do odczytania wlasciwosci Proxy.InstallTrigger
Nie ma on raczej wpływu na to o czym pisałem ale od razu możecie mi pomóc naprawić i ten błąd :). Może to dlatego, że pracuje na localhostcie ?

0
mati1988k napisał(a)

po otworzeniu dymku na google maps jak klikne w jakikolwiek a href="" to próbuje mi się otworzyć w prettyPhoto.
Nawet jeżeli rel nie jest ustawiony na prettyPhoto.

No to pewnie gdzieś indziej w kodzie masz coś skopane.

mati1988k napisał(a)

No i w konsoli błędów pojawia mi się błąd:

Googluj za "Proxy.InstallTrigger twitter". mi się udało odnaleźć, że któraś z wersji Firebuga wyrzucała to bez powodu - zaktualizuj Firebuga, a jak nie to szukaj innych rozwiązań..

1 użytkowników online, w tym zalogowanych: 0, gości: 1