Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1536 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  GMaps API et l'objet GMap2

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

GMaps API et l'objet GMap2

n°1913881
vhAnton
Posté le 11-08-2009 à 11:22:14  profilanswer
 

Bonjour,
 
Je suis dans un projet dans lequel je vais etre amener a  beaucoup utilisé la GoogleMaps API, et je me pose des question d'"architecture".
 
Au chargement de ma page, je crée un nouvel objet GMap2 dans une fonction load()
 

Code :
  1. var map = new GMap2(document.getElementById("map" ));


 
Mais je vais avoir d'autre fonctions pour "remplir" la carte, telles que loadMarkers(arguments) ou cleanMap(arguments)..  
Je ne suis pas tres habitué a faire du javascript, et je suis un peu perdu, comment faire pour pouvoir utiliser mon objet GMap2 (var map) dans mes autres fonctions ?
 
Car pour l'instant je suis dans le cas present :  
 

Code :
  1. function load() {
  2. if (GBrowserIsCompatible()) {
  3.  var map = new GMap2(document.getElementById("map" ));
  4.  map.setCenter(new GLatLng(10, 10), 15);
  5.  map.addControl(new GSmallMapControl());
  6.  map.addControl(new GMapTypeControl());
  7. }
  8. }


 
Et si je passe vers quelque chose comme
 

Code :
  1. var map = new GMap2(document.getElementById("map" ));
  2. function load() {
  3. if (GBrowserIsCompatible()) {
  4.  map.setCenter(new GLatLng(10, 10), 15);
  5.  map.addControl(new GSmallMapControl());
  6.  map.addControl(new GMapTypeControl());
  7. }
  8. }
  9. function blabla() { .... }
  10. ...


 
La map ne s'affiche plus, j'ai un map is undefined comme erreur javascript.
 
Comment faire pour pouvoir réutiliser cet objet Gmap2 dans mes autres fonctions, voir dans d'autre fichier ? Ou alors le "récuperer" dans le DOM ?
 
Je suis un peu perdu,
Merci de votre aide.
 

mood
Publicité
Posté le 11-08-2009 à 11:22:14  profilanswer
 

n°1913882
pataluc
Posté le 11-08-2009 à 11:24:43  profilanswer
 

il faut bien définir le var map avant le load, mais ne l'initialiser que dedans:

Code :
  1. var map;
  2. function load() {
  3. if (GBrowserIsCompatible()) {
  4.   map = new GMap2(document.getElementById("map" ));
  5.   map.setCenter(new GLatLng(10, 10), 15);
  6.   map.addControl(new GSmallMapControl());
  7.   map.addControl(new GMapTypeControl());
  8. }
  9. }
  10. function blabla() { .... }
  11. ...


cf les exemples dans la doc de l'api...


Message édité par pataluc le 11-08-2009 à 11:25:01
n°1913920
budlite
Fresh
Posté le 11-08-2009 à 12:07:34  profilanswer
 

Quand appelles tu ta fonction load() ?
Parce que dans le code que tu as mis elle n'est appellee nul part :??:  
 
Tu l'as mis dans un attribut <body onload="load()"> ou qqchose comme ca ?


---------------
Fresh
n°1913952
vhAnton
Posté le 11-08-2009 à 13:03:42  profilanswer
 

Merci pataluc, et navré de ne pas avoir été suffisamment assidu avec la doc de l'api ^^.
 
Oui budlite, j'ai le body onload.
 
Je profite que je vous tiens pour une autre question :
 
En gros je vais faire des appels AJAX pour "remplir" la carte avec des Gmarkers, en fonctions d'arguments passé par l'utilisateur.
Quel moyen préconisez vous pour passer les arguments a ma requete AJAX ?
 
Inspecter le DOM pour avoir les arguments (si l'utilisateur choisit dans une combo box par exemple), ou plutot via les sessions ?
Je souhaite que ce sois le plus "secure" possible, meme si il y aura bien sur des verifications dans mon code PHP, que l'utilisateur ne puisse pas facilement envoyer des arguments "bidon" a ma requete.
 
Merci encore

n°1914193
budlite
Fresh
Posté le 12-08-2009 à 06:55:31  profilanswer
 

Qu'entends tu par "utiliser les sessions" pour faire une requete au serveur ? :??:


---------------
Fresh
n°1914358
vhAnton
Posté le 12-08-2009 à 13:53:48  profilanswer
 

Plutot pour les parametres, apres reflexion il est vrai que les sessions ne vont pas vu que je fait de l'AJAX, je ne peux pas charger un argument dans une variable de SESSION vu que je ne recharge pas la page.
 
Mais disons que l'utilisateur veux visualiser des markers pour tel evenement X (disons que l'evenement a une ID), quel est le meilleur moyen pour passer cet argument a ma fonction loadMarkers() quand l'utilisateur click sur "Evenement X" ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  GMaps API et l'objet GMap2

 

Sujets relatifs
[AS3] Donner des propriétés en masse à un objetDéfilement d'objet et scintillement
Problème de formulaire: objet = [SPAM]Erreur 1004: Méthode Open de l'objet workbook échouée
Erreur 1004 : La methode 'Cells' de l'objet '_Global' a échouéProbléme pour récuperer le nom du Fichier API Windows
passage par référence et objet localObjet cliquable tableau
[Resolu]Problème de compilation API MYSQL 
Plus de sujets relatifs à : GMaps API et l'objet GMap2


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR