2010-11-15 5 views
2

J'ai quelques problèmes avec fancybox et google maps (v3) lors de l'affichage du contenu d'un fichier KML.problèmes avec google map affichant des images dans une nouvelle fenêtre lors de l'utilisation de fancybox

Lors de l'affichage de la bulle qui contient la description, j'ai une vignette d'une image que je veux afficher lorsqu'on clique avec fancybox. Le problème que j'ai est que lorsque la vignette est cliquée, la fancybox s'affiche, mais le navigateur engendre également une nouvelle fenêtre affichant l'image en taille réelle. Je sais que lorsque le fichier KML est analysé, toutes les balises href ont l'attribut cible ajouté, donc j'ai essayé de le retirer une fois la carte chargée, pendant que j'attache la fancybox au lien.

Je me assure que la carte a été chargé avant d'essayer: à savoir

function updatemap(surveyid){ 

    var map; 

    var myOptions = { 
     zoom: 5, 
     mapTypeId: google.maps.MapTypeId.HYBRID 
    }; 

    var url = "https://myurl/feed/kml.php?action=survey&id=" + surveyid; 

    map = new google.maps.Map(document.getElementById("googlemap"), myOptions); 

    var kmlLayer = new google.maps.KmlLayer(url); 

    kmlLayer.setMap(map); 

    google.maps.event.addListener(map, "tilesloaded", function(){ 
     attachFancyBox(); 
    }); 


} 

Le attachFancyBox() fonction ressemble à ceci. Maintenant, cela fonctionnera avec Firefox, mais d'autres navigateurs (IE7 +, Safari, Chrome) agissent comme mentionné ci-dessus. Donc, y a-t-il un moyen de réaliser l'affichage de l'image dans fancybox sans engendrer une nouvelle fenêtre/tab ??

Un grand merci ...

Répondre

0

Excusez-moi, je n'ai pas de temps à plein reconstruire votre cas, mais peut être la cause n'est pas un target, peut être la cause est le script Google Map lie click événements a tag? Essayez de dissocier tous les événements avant d'attacher boîte de fantaisie:

function attachFancyBox(){ 
    $("a:has(img)").unbind() 
    .fancybox({ 
     "hideOnContentClick":true 
    }) 
    .removeAttr("target"); 
} 
+0

Malheureusement, cela n'a pas semblé fonctionner. Le problème est qu'il semble être très aléatoire car il fonctionne "parfois" avec Firefox. –

Questions connexes