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

JavaScript Discussion :

ID d'un objet javascript


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    80
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 80
    Par d�faut ID d'un objet javascript
    Salut ,

    j'ai deux petites chose � demander
    1/
    Voil� j'utilise les api de google .. qui s'utilise ds la balise
    <script type="text/javascript">

    Voici un api par exemple de google map pour cr�er la map :
    var map = new GMap2(document.getElementById("map"));
    Dont map est un"(object, Object)" d'apr�s alert(map);

    J'aimerai savoir comment on pourrai mettre en param�tre d'une fct l'ID ?

    2/
    voici l'api pour cr�er un repere
    marker[k] = new GMarker(point); ; Dont k est une variable qui s'incr�mente via une boucle for. Remarque : marker[k] est un object aussi ...

    Dans cette m�me boucle for je cr�er un �v�nement associ� au maker[k] cr�er :

    map.addOverlay(akeur);
    GEvent.addListener(akeur, "click", function() {
    akeur.openInfoWindowHtml("<b> " + comment + "</b>");
    });


    code entier :
    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
    for(var k=0; k<point_MB2.length; k++)
             {
             var long =point_MB2[k].longitude;
             var lat = point_MB2[k].latitude;
             var comment = point_MB2[k].commentaire;
     
    //création d'une  map .....
    if (k==0) {
    var map = new GMap(document.getElementById("map"));
              }
    var point = new GLatLng(long,lat);
    map.centerAndZoom(new GPoint(long,lat), 15);
     
    marker[k] = new GMarker(point);
    var akeur=marker[k]; 
    map.addOverlay(akeur);
    GEvent.addListener(akeur, "click", function() {
                          akeur.openInfoWindowHtml("<b> " + comment + "</b>");
                                                       });
     
             }
    Mais le r�sultat n'est pas celui attendu .. pk ? Si vous voyer un probl�me ds le code ..

    MErci

  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 : 55
    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
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var point = new GLatLng(long,lat);
    Tu n'inverserais pas tes coordonn�es par hasard ???
    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 confirm�
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    80
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 80
    Par d�faut
    Bonjour Bovino !!

    Nanan les reperes se placent � l'endroit souhait�. Mais en faite c'est l'�v�nement qui ne marche pas :normalement chaque rep�re � sa bulle mais sa donne pas ca.
    Si tu veux voir : http://www.jdan.weboserv.org/script.html/ (sur le combobox tu choisi 'c1'; tu vera : lorsque tu cliquera sur les reperes pas de bulles qui appara�t ..)

    Et puis est ce que tu saurai la r�ponse du 1/ ???

    merci bien

  4. #4
    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 : 55
    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
    Pour le 1/
    Il ne faut pas confondre la variable javascript map, et l'�l�ment HTML dont l'id est "map".
    Tu peux tr�s bien faire :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var map = new GMap(document.getElementById("autre_map"));
    voire :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var mon_nom = new GMap(document.getElementById(une_variable));
    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

  5. #5
    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 : 55
    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
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    marker[k] = new GMarker(point);
    var akeur=marker[k]; 
    map.addOverlay(akeur);
    Ta variable akeur ne sert � rien et doit perturber...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    marker[k] = new GMarker(point);
    map.addOverlay(marker[k]);
    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

  6. #6
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par d�faut
    Citation Envoy� par JeanDan Voir le message
    Bonjour Bovino !!

    Nanan les reperes se placent � l'endroit souhait�. Mais en faite c'est l'�v�nement qui ne marche pas :normalement chaque rep�re � sa bulle mais sa donne pas ca.
    Si tu veux voir : http://www.jdan.weboserv.org/script.html/ (sur le combobox tu choisi 'c1'; tu vera : lorsque tu cliquera sur les reperes pas de bulles qui appara�t ..)

    Et puis est ce que tu saurai la r�ponse du 1/ ???

    merci bien
    Quand je clique sur un point, l'ami Firebug me dit ca:
    Citation Envoy� par Firebug
    marker[k] is undefined
    marker[k].openInfoWindowHtml("<b> " + comment + "</b>");
    Est-ce que c'est normal? Oui
    Parce que quand tu �cris ca:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    marker[k] = new GMarker(point);
    map.addOverlay(marker[k]);
    GEvent.addListener(marker[k], "click", function() {
                           marker[k].openInfoWindowHtml("<b> " + comment + "</b>");
                                                      });
    Tu d�clares en callback une fonction anonyme qui va �tre ex�cut� lors de l'�v�nement click. Le probl�me, c'est que cette fonction n'est absolument pas li�e au contexte dans laquelle tu l'as d�clar�e, donc en clair, marker[k], elle ne connait pas, donc elle plante lorsque tu lui dis d'y acc�der.
    Pour r�soudre le probl�me, il te faut explicitement lier la fonction � son contexte de d�claration, par exemple comme ca:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var handle = function(mkr)
    {
       return function()
       {
          mkr.openInfoWindowHtml("<b> " + comment + "</b>")
       }
    }(marker[k])
     
    GEvent.addListener(marker[k], "click", handle);

Discussions similaires

  1. [POO] Fonction Affichage OBjet Javascript!
    Par lekunfry dans le forum G�n�ral JavaScript
    R�ponses: 14
    Dernier message: 20/07/2007, 06h28
  2. [POO] ref�rence � un objet javascript
    Par Giansolo dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 08/05/2007, 09h53
  3. [POO] contenu d'un objet javascript
    Par wtfu dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 10/08/2006, 11h12
  4. [POO] Comment acceder a un objet javascript instancie dans une page mere
    Par herbert dans le forum G�n�ral JavaScript
    R�ponses: 11
    Dernier message: 20/07/2006, 19h34
  5. [POO] objet javascript et html
    Par jakouz dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 20/04/2006, 17h58

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