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

WebDev Discussion :

Champ HTML et javascript


Sujet :

WebDev

  1. #1
    Membre actif
    Inscrit en
    Avril 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 308
    Points : 231
    Points
    231
    Par défaut Champ HTML et javascript
    Bonjour.

    J'essaye en vain d'inclure un script affichant google map dans un champ HTML.

    J'ai cherché un peu et j'ai fait ceci :
    dans la description de mon champ html j'ai mit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script language="Javascript"> 
    affiche(); 
    </script>
    J'ai inclu dans le projet un script.js depuis la description du projet.

    //j'ai volontairement enlevé les adresse

    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
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAA6C4bndUCBastUbawfhKGURTPcAgFsBQ5lmS5najHkCztcsKGexSNpYrYB9Y276wTymXFY2BGeSHhFw" type="text/javascript"></script>
    
    <script language="Javascript"> 
    var map = null;
    var geocoder = null;
    var i=0;
    //nom de l'hotel
    var tableauNom = new Array("ici des nom");
    //rue de l'hotel
    var tableauRue = new  Array("ici des rue");
    //code postale
    var tableauCP = new Array("ici des cp");
    //ville
    var tableauVille = new Array("ici des ville");
    	
    	
    	
    	
        function initialize() {
    	
          if (GBrowserIsCompatible()) {
         map = new GMap2(document.getElementById("map"));
         map.addControl(new GLargeMapControl()); 
         map.addControl(new GMapTypeControl()); 
         map.setCenter(new GLatLng(48.8563, 2.3403), 12);
         map.enableScrollWheelZoom();
         geocoder = new GClientGeocoder();
    	 RecupAdress();
            //GEvent.addListener(map, "click", clicked);
          }
        }
    	function RecupAdress()
    	{
    
    		for(i=1;i<tableauNom.length;i++)
    		{
    				nom = tableauNom[i]+" ";
    				description = tableauRue[i]+" "+tableauCP[i]+" "+tableauVille[i];
    				showAddress(description);
    				
    		}
    	}
    	
        function showAddress(address) {
          if (geocoder) {
            geocoder.getLatLng(
              address,
              function(point) {
                if (!point) {
                  alert("Désolé mais nous n'avons pas réussi à trouver cette adresse");
                } else {
         	     //map.panTo(point);
    			 var marqueur = createMarker(point,"","Marqueur",17)
    			map.addOverlay(marqueur);		 
            }
          });
        }
      }
    	function createMarker(point,TexteAuFormatHTML,Titre,ValeurDuZoom) {
    	/* Création d'un nouveau marqueur nommé "marqueur" ancré sur le point nommé "point" */
    	/* L'option "title:" permet d'afficher le contenu de "Titre" sous le marqueur lorsque celui-ci est survolé par la souris */
    	var marqueur = new google.maps.Marker(point,{title:Titre});
    	var ValZoom = ValeurDuZoom;
    	google.maps.Event.addListener(marqueur, "click", function() {
    	map.setCenter(marqueur.getPoint(),ValZoom);
    	/* Ouvre l'info-bulle liée au marqueur nommé "marqueur", puis affiche à l'intérieur le contenu de "TexteAuFormatHTML" */
    	marqueur.openInfoWindowHtml(TexteAuFormatHTML, {maxWidth:160});
    	});
    	return marqueur;
    	}
    
    	function affiche()//je me suis inspiré d'un post pour faire ceci mais je suis pas sur du resultat
                {
    		document.write('<div id="map" style="width:850px; height:500px"></div>');
    		document.onLoad=initialize();
    	}
    </script>
    J'ai pas d'erreur de compilation, j'ai une belle page blanche sans erreur.
    Dans notepad++ ça marche niquel...avec des balises html head body et une div id="map"

  2. #2
    Membre actif
    Inscrit en
    Avril 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 308
    Points : 231
    Points
    231
    Par défaut
    Conscient de la difficulté de compréhension de mon problème...
    Je m'attendais à ne pas avoir de réponse, j'ai donc cherché cherché cherché depuis 2 jours puis j'ai trouvé dans une LST ( La 72 précisément ) un exemple utilisant googlemap.

    OUF! Je conseil vraiment cet exemple super complet.

    J'ai donc "découpé" mon gros fichier javascript.js en function et j'ai créé une collection de procédure global de code javascript. ( Tout comme dans l'exemple)

    Jusque ici tout va bien en "dur" ça pointe bien vers les adresses que j'incrémente dans mon tableau d'adresse. Ca m'affiche bien ma carte et mes marqueur dans mon champs libelléeHTML.

    Maintenant...se pose le problème de l'accès aux données.
    Car oui le but c'est pas d'avoir les adresses en dur.

    Je bloque sur la récupération du résultat de ma requête dans le code navigateur.

    J'ai une variable global de type tableau instanciée dans les procédures global de la page.

    Je lance une procédure dans le code serveur à l'initialisation de ma page qui exécute une requête avec un simple SQLexec, je boucle et j'ajoute le résultat dans le tableau global avec un simple tableauAjoute.

    Et ce fameux tableau...n'est pas accessible en code navigateur .

    J'ai besoin de ce tableau d'adresse car une procédure javascript attends en arguments mes adresses...

    J'ai donc essayé ceci :
    AjaxexecuteAsynchrone(ProcedureServeur,ProcedureNavigateurJavascript)

    Si j'ai bien compris, la valeur renvoyée de ma ProcedureServeur sera directement envoyée a ma procédure navigateur.

    Ma ProcedureServeur Renvoi un tableau.
    La ProcedureNavigateur la récupère.


    J'ai contrôlé dans une petite boucle que mon tableau soit bien "rempli" avec un info(tableauAdresse[i]) avant le RENVOYER tableauAdresse.
    C'est OK

    Dans la ProcedureNavigateur en javascript donc j'ai une boucle
    for(i=0;i<argumentRecupere.length;i++)
    c'est censé boucler sur l'argument qui devrait être le tableau renvoyé par ma procédure serveur.

    Mais apparemment mon tableau ne comporte aucune entrée.

    Je suis a court d'idée, et j'ai pas trouvé grand chose concernant AjaxExecute...

    Merci, désolé si je vous ai perdu en cours de route n'hésitez pas a me demande plus de précision.

  3. #3
    Membre actif
    Inscrit en
    Avril 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 308
    Points : 231
    Points
    231
    Par défaut
    Bonjour !

    J'ai donc résolu mon souci avec AjaxExecute, je confirme qu'en code navigateur on ne peu retourné que des variable de type simple, chaine,entier booléen...mais pas de tableau.

    J'accède donc bien à ma base je géolocalise sur ma carte et je place mes marqueur, voila il me reste plus qu'a faire l'inverse, récupérer les coordonnées, et les stocker dans ma table.

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

Discussions similaires

  1. Récupération champ html en Javascript
    Par minaurore dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/03/2015, 10h43
  2. [WD17] Champ HTML et javaScript
    Par thierrybatlle dans le forum WinDev
    Réponses: 3
    Dernier message: 27/06/2012, 15h10
  3. Controle champs numérique avec JAVAScript dans html
    Par aminooos dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 30/09/2011, 19h40
  4. [W14] Champ HTML erreurs javascript
    Par thierrybatlle dans le forum WinDev
    Réponses: 1
    Dernier message: 16/02/2009, 16h06

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