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

Langage PHP Discussion :

mettre un lien dans une bulle googlemap


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 88
    Points : 37
    Points
    37
    Par défaut mettre un lien dans une bulle googlemap
    J'ai une page genaralmap.php avec une carte qui donne la situation des sociétés.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    <!-- language --> <?php
     require("decide-lang.php");
     ?> 	 
    <!-- fin language-->
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
        <script src="http://maps.google.com/maps?file=api&v=2&key=
        ABQIAAAAW3qRWAZKU9EbtdbwyGlcbBR6UEvESOuZbv168_clhMm7MolCdhQLYndPhZX5MllAE0J0CVEyhdrGdw"
        type="text/javascript"></script>
        <script type="text/javascript">//<![CDATA[
     
    	  function load()
            {
            if (GBrowserIsCompatible())
              {
              var map = new GMap2(document.getElementById("map"));
              map.setCenter(new GLatLng(46.818188, 8.227512), 7);
    		  map.addControl(new GLargeMapControl3D());
    		  map.enableScrollWheelZoom();
    		  map.addControl(new GMapTypeControl());
    		  map.addControl(new GOverviewMapControl());
    		  map.addControl(new GScaleControl());
    // Initialisation d'un nouvel objet GIcon et de ses propriétés
              var MonIcon = new GIcon(G_DEFAULT_ICON);
              MonIcon.iconSize=new GSize(32,32);
              MonIcon.iconAnchor=new GPoint(16,32);
              MonIcon.image="images/purple-pushpin.png";	
     
          function creerMarker(point, onglet1, onglet2) {
            var marker = new GMarker(point,MonIcon);
            var infoTabs = [
              new GInfoWindowTab("Société", onglet1),
              new GInfoWindowTab("Détails", onglet2) 
               ];
            GEvent.addListener(marker, "click", function() {
              marker.openInfoWindowTabsHtml(infoTabs);
              });
            return marker;
            }
     
              GDownloadUrl("testm.php", function(data) {
                var xml = GXml.parse(data);
                 var markers = xml.documentElement.getElementsByTagName("marker");
                 for (var i = 0; i < markers.length; i++) {
                   var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")), 9);
               var marker = creerMarker(point, markers[i].getAttribute("info"), markers[i].getAttribute("details") );
                   map.addOverlay(marker);
                 }
               });
             }
         }
     
          //]]>
          </script>
     
     
     
     
    <?php include ("head.php");
    ?>
    <body onload="load()" onunload="GUnload()">
    <center>
            <div id="conteneur">
     
    <?php include ("header.php");
    ?>
     
    <?php include ("menu.php");
    ?>
     
     
    		<!--corps -->
    		<div id="corps">
     
    <br />
    <fieldset style="width:500px; border-color:#19431B">
     
    <table align="center">
     
    <tr><td colspan="2"><center><div id="map" style="width: 600px; height: 400px"></div></center></td></tr>
     
    </table>
    </fieldset><br /><center><br><input type="button" value="<?php echo BACK_GM2; ?>" onclick="history.go(-1)"> </form></center>
               </div>
     
    		  <!-- Si JavaScript n'est pas activé sur votre navigateur, le message d'alerte situé entre les balises <noscript></noscript> s'affichera -->
    	<noscript>
    	<p><?php echo NOSCRIPT_GM2; ?></p>
    	</noscript>
              </div>
     
    		<!--fin corps -->
     
    		<!--fin corps -->
     
    <?php include ("footer.php");
    ?></div>
    Cette page fait appel à la page testm.php qui fait des appels à la table pour trouver les markers. Tout fonctionne mais j'aimerais que dans le premier onglet avec le nom de la société, il soit possible de cliquer sur celui-ci pour afficher le profil.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    include ("loc.php");
     
    $connection = mysql_connect($host, $user, $password) or die ("Connexion au serveur impossible");
     $db = mysql_select_db ($database, $connection) or die ("La base de données ne peut pas êre sélectionnée");
     
     
    header("Content-type: text/xml");
    	echo '<'.'?xml version="1.0" encoding="utf-8"?'.'>';
    	echo'<markers>';
    	 $sql2 ="SELECT * FROM Membre";
         $result2= mysql_query($sql2) or die ("Impossible d'exécuter la requête");
     
    	while ($ligne = mysql_fetch_array($result2))
    {extract($ligne);
    	echo '<marker lat="'.$ligne["lat"].'" lng="'.$ligne["lng"].'" info="'.$ligne["nomsociete"].'"  details="'.$ligne["rue"].', '.$ligne["cp"].' '.$ligne["ville"].' ('.$ligne["canton"].')" />/>';
    	}
    	echo '</markers>';
     
    ?>
    J'ai essayé avec ceci avant le '.$ligne["nomsociete"].'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="./profil.php?societeID=$societeID">
    mais la google map ne l'accepte pas.

    Que dois-je mettre ?

    Merci !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut
    bonjour,
    si c'est bien dans les paramètres du marker.
    probablement que tu t'es mélangé les pinceaux avec les " et les '.
    quand c'est bien écrit çà donne çà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new Array(44.65671,4.76229 ,"<span style=\'color: red;font-weight: bold;\'>OFFICE DE TOURISME DE CRUAS</span><br />1, place de la Libert&eacute;<br />07350 CRUAS<br /><br /><a href=\"http://www.ot-cruas.fr\" target=\"_blank\"><img src=\"images/extrait/34.jpg\" width=\"100\" height=\"75\" border=\"0\" /></a>", true),

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 88
    Points : 37
    Points
    37
    Par défaut
    par rapport à ce que tu as j'ai pas mis les \. En les mettants comme ceci au lien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<marker lat="'.$ligne["lat"].'" lng="'.$ligne["lng"].'" info="<a href=\"profil.php?societeID=$societeID\">'.$ligne["nomsociete"].'</a>"  details="'.$ligne["rue"].', '.$ligne["cp"].' '.$ligne["ville"].' ('.$ligne["canton"].')" />/>';
    cela fonctionne pas non plus

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut
    echo '<marker lat="'.$ligne["lat"].'" lng="'.$ligne["lng"].'" info="<a href=\"profil.php?societeID=$societeID\">'.$ligne["nomsociete"].'</a>" details="'.$ligne["rue"].', '.$ligne["cp"].' '.$ligne["ville"].' ('.$ligne["canton"].')" />/>';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<marker lat="'.$ligne["lat"].'" lng="'.$ligne["lng"].'" info="<a href=\"profil.php?societeID='.$societeID.'\">'.$ligne["nomsociete"].'</a>"  details="'.$ligne["rue"].', '.$ligne["cp"].' '.$ligne["ville"].' ('.$ligne["canton"].')" />/>';
    dans un echo les variables entre ' ' ne sont pas interprétées.
    de plus, pourquoi tu termine ta chaine par 2 />/> ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 88
    Points : 37
    Points
    37
    Par défaut
    le doublon n'a effectivement pas lieu d'être, cela doit être à force de modifier.

    J'essaie comme tu me l'as noté mais cela ne fonctionne toujours pas.

    L'erreur est celle-ci: Erreur d'analyse XML : mal formé
    Elle est sur le < de info="<a

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 88
    Points : 37
    Points
    37
    Par défaut
    ce n'est pas possible ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 207
    Points : 344
    Points
    344
    Par défaut
    Et si au lieu de < et > pour ton lien tu mets &lt; et &gt; ça te donne quoi ? Surement plus d'erreur mais peut-être qu'il ne te l'interprétera pas bien après.

    Je ne peux pas vraiment tester vu que je n'ai pas tes pages.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 88
    Points : 37
    Points
    37
    Par défaut
    merci infiniment ! tip top !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/05/2009, 20h38
  2. Mettre un lien dans une alert()
    Par afrodje dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/10/2008, 13h09
  3. [DW MX] mettre un lien dans info bulle
    Par calimero75 dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 04/02/2008, 19h11
  4. Mettre un tableau dans une Info bulle
    Par 2michel dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/10/2007, 10h31
  5. Comment mettre un lien dans une page vers une autre partie de la même page?
    Par Longway dans le forum Dépannage et Assistance
    Réponses: 4
    Dernier message: 12/10/2006, 18h58

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