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 :

ajout de marker sur une map avec "onclick"


Sujet :

APIs Google

  1. #1
    Membre du Club Avatar de floopi51
    Inscrit en
    Octobre 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 136
    Points : 62
    Points
    62
    Par défaut ajout de marker sur une map avec "onclick"
    Bonjour,

    je travaille sur une map google et je voudrais pouvoir ajouter des markers sur la carte suite à un clique sur un bouton.

    J'utilise le code ci-dessous et quand je clique sur le bouton , rien ne se passe.....
    Je précise : la map MonPlan est chargée au lancement du site web sur ma page.
    L'utilisateur se connecte et il peut ensuite en cliquant sur un bouton afficher des infos qui sont liées à son identifiant.

    Voici le code :

    1) chargement initial + definition de la fonction d'ajout des markers

    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
     
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=maclef&sensor=false" type="text/javascript"></script>
     
    <script type="text/javascript">
    //<![CDATA[
     
    var MonPlan;
    var latlong_tab = [];
     
    var geocoder = null;
    var LatitudeCarteClick;
    var LongitudeCarteClick;
     
    function loadMaCarte() {
      if (GBrowserIsCompatible()) {
        MonPlan = new GMap2(document.getElementById('MonPlan'));
        MonPlan.setCenter(new GLatLng(47, 3), 5);
        MonPlan.addControl(new GLargeMapControl());
        MonPlan.addControl(new GMapTypeControl());
        MonPlan.addControl(new GOverviewMapControl());
        MonPlan.addControl(new GScaleControl());
        window.setTimeout(SeeMarkers, 0);
     
        geocoder = new GClientGeocoder();
      }else{
        alert("D&eacute;sol&eacute;, mais votre navigateur n\'est pas compatible avec Google Maps");
      }
      return MonPlan;
    }
    function dec2dms(l) {
      d = Math.floor(l);
      p = (l - d) * 60;
      m = Math.floor(p);
      s = Math.round((p - m) * 60);
      return d+"° "+m+"'' "+s+"'";
    }
     
    function recentrerCarte(){
      window.setTimeout(function(){MonPlan.panTo(new GLatLng(LatitudeCarteClick, LongitudeCarteClick));}, 1000);
    }
     
    function AfficherAdresse(addresse) {
      if (geocoder) {
        geocoder.getLatLng(addresse,
    		       function(point) {
    			 if (!point) {
    			   alert('Impossible de geolocaliser cette adresse' + addresse);
    			   MonPlan.setCenter(new GLatLng(47, 3), 5);
    			 } else {
    			   MonPlan.clearOverlays();
    			   var marker = new GMarker(point, {draggable: true});
    			   GEvent.addListener(marker, 'dragstart', function() {
    						MonPlan.closeInfoWindow();
    					      });
     
    			   GEvent.addListener(marker, 'dragend', function(point) {
    						recentrerCarte();
    					      });
    			   MonPlan.addOverlay(marker);
    			   MonPlan.setCenter(point, 15);
    			 }
    		       }
    		       );
      }
    }
     
    function SeeMarkers(latlong_tab) {
     
      MonPlan.clearOverlays();
      for (var i in latlong_tab) {
     
        var latitude = latlong_tab[i].lat;
        var longitude = latlong_tab[i].long;
        var point = new GLatLng(latitude,longitude);
        var marker = new GMarker(point);
     
        MonPlan.addOverlay(marker);
     
      }
    }
     
    //]]>
    </script>

    2 -Le code pour insérer les markers : (ce code est généré par PHP avec des données récupérées dans une BDD.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <script type="text/javascript" >
    var tab_coord = new Array();
    var mesCoord = {    lat:0,    long:0 };
    mesCoord.lat=45.43;
    mesCoord.long=5.33;
    tab_coord[0]= mesCoord;
    var mesCoord = {    lat:0,    long:0 };
    mesCoord.lat=45.53;
    mesCoord.long=5.53;
    tab_coord[1]= mesCoord;
    </script>
     
    <input type="button" onclick="SeeMarkers(tab_coord)" value="display all markers" />
    Merci pour vos idées

    Floopi

  2. #2
    Membre du Club Avatar de floopi51
    Inscrit en
    Octobre 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 136
    Points : 62
    Points
    62
    Par défaut magique
    je ne sais pas pourquoi mais maintenant ca fonctionne

    incompréhensible !

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

Discussions similaires

  1. Afficher plus de 120 000 markers sur une map
    Par Lazaa dans le forum APIs Google
    Réponses: 1
    Dernier message: 04/07/2015, 15h03
  2. Problème sur une map avec sf::Key.
    Par shirohige dans le forum C++
    Réponses: 7
    Dernier message: 18/11/2013, 21h30
  3. [Google Maps] Ajouter un div sur une map
    Par mely_84 dans le forum APIs Google
    Réponses: 1
    Dernier message: 25/04/2013, 19h26
  4. Ajouter des objets sur une Map (image)
    Par Eausport dans le forum Collection et Stream
    Réponses: 27
    Dernier message: 04/08/2012, 12h00

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