IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

Objet Google Maps dans une iframe


Sujet :

APIs Google

  1. #1
    Membre averti
    Inscrit en
    Novembre 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 24
    Par défaut Objet Google Maps dans une iframe
    Bonjour,

    J'ai actuellement un site (pour mon groupe de musique), sur une page regroupant nos prochaines dates de concerts, je mets à disposition des visiteurs le plan pour accéder au lieu où l'on joue avec Google map.
    Jusqu'ici tout va bien, mais avec du recul et selon l'avis de certains visiteurs, il serait mieux de ne pas avoir les plans affichés dès l'accès à la apge.

    J'ai donc cherché à masquer mes plans grâce à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $(document).ready(function() {
    	$('.PLANS').hide();
    });
    Bon jusque là, pas de problème sauf que lorsque je masque mes div avec un plan google maps, lorsque je les réaffiche (via un bouton qui me fait un show() ou un slideToggle()) le point correspondant à l'adresse n'est plus au centre de ma carte mais en haut à gauche.

    Est ce que quelqu'un aurait une idée ?J'ai cherché un peu pour voir s'il n'y avait pas une fonction 'focus()' qui existait pour les object google maps mais si je pouvait ne pas modifié trop de choses dans mon source ce serait cool.

    Petite précision : J'ai bien mon iframe (google maps) dans une div que j'affiche ou que je masque).

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Avec un setCenter au moment de l'affichage ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre averti
    Inscrit en
    Novembre 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 24
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Avec un setCenter au moment de l'affichage ?
    Euh...oui mais je suppose que ma map doit être construite d'une manière bien précise non ?

    EDIT : je crois savoir comment faire ? en gros je dois faire un genre de fonctions centrer() qui va donc créer une map à partir de l'id que j'ai dans mon iframe.
    et faire un set center dessus...
    Et en gros au moment ou je ré-affiche ma map sur mon site (via mon bouton 'afficher') je lui dis d'appeler cette fonction.

    C'est la première idée que j'ai...

  4. #4
    Membre averti
    Inscrit en
    Novembre 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 24
    Par défaut
    Est ce qu'il est possible pour moi de faire un setCenter d'une map contenu dans une iframe comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <iframe  	
       width="425"  	
       height="350"  	
       frameborder="0"  	
       scrolling="no"  	
       marginheight="0"  	
       marginwidth="0"  	
       src="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=37,+rue+des+Postes++59000,+Lille&amp;aq=&amp;sll=37.0625,-95.677068&amp;sspn=51.355924,135.263672&amp;ie=UTF8&amp;hq=&amp;hnear=37+Rue+des+Postes,+59000+Lille,+Nord,+Nord-Pas-de-Calais,+France&amp;z=14&amp;ll=50.627103,3.057165&amp;output=embed"> 
    </iframe>
    C'est la carte que je récupére via le bouton "link" sur le site google maps.

    Merci d'avance.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Par défaut
    Bonjour,

    Je remonte la discussion car j'ai moi aussi rencontré le même problème.

    Première solution : afficher le iframe dans une div hors champ. Par exemple avec comme css :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    position : absolute; 
    top : 0px;
    left : -2000px;
    Et l'afficher aux bonnes coordonnées quand on en a besoin. Un peu du bricolage mais ça marche.


    De mon côté ça ne me convenait pas, mais en cherchant j'ai trouvé une autre solution. Encore du bricolage, mais ça marche aussi :

    Deuxième solution : l'idée c'est de charger l'URL seulement quand on affiche la balise iframe.

    1/
    remplacer l'attribut SRC par REL dans la balise iframe, et lui rajouter un ID
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <iframe id="CarteGoogleMaps" width="500" height="400" rel="http://maps.google.com/maps?f=q&amp;source=s..."></iframe>
    2/
    Un peu de jQuery au moment où on affiche la balise iframe : on affecte la bonne valeur à l'attribut SRC :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var rel = $("CarteGoogleMaps").attr('rel');
    $("CarteGoogleMaps").attr('src',rel);

    En espérant que ça serve à quelqu'un d'autre

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 72
    Par défaut
    Merci pour cette réponse très intéressante ptimogwai. Toutefois je tenais à signaler que l'attribut "rel" n'est pas valide pour une balise <iframe/>.

    Du coup je pense qu'il serait plus judicieux de mettre le lien dans une balise <span/> et d'ensuite récupérer le contenu de cette span pour l'attribut "src" de l'<iframe/>.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var mapsrc = $("#span").text();
    $("#iframeGoogleMaps").attr('src',mapsrc);
    Ou bien sûr il est également possible si vous disposez directement de l'url de procéder comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $("#iframeGoogleMaps").attr('src','votre url');

Discussions similaires

  1. intégration google map dans une application java
    Par marwakasmi dans le forum NetBeans
    Réponses: 0
    Dernier message: 28/03/2012, 12h29
  2. Réponses: 2
    Dernier message: 13/03/2010, 21h12
  3. [MooTools] plusieurs carte google map dans une seule page
    Par vladimire dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 03/03/2010, 22h15
  4. Comment obtenir Google Maps dans une Form ?
    Par thibouille dans le forum Web & réseau
    Réponses: 16
    Dernier message: 13/01/2009, 14h30
  5. Integrer google maps dans une application
    Par La Truffe dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 01/11/2006, 16h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo