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 :

Blocage Googlemaps API


Sujet :

APIs Google

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Blocage Googlemaps API
    Bonjour, je débute sur les API googlemap et suis bloqué.
    En fait je cherche à placer sur une carte des marqueurs récupérés dans une base mysql.
    Certains ont seulement une adresse donc 'geocoder.getLatLng', pas de souci. Mais d'autres point ont en plus des coordonnées (lat, lng).
    Pour un souci de rapidité, je souhaiterais qu'il se base sur (lat, lng) pour ceux qui en ont et (adresse) pour ceux qui n'en n'ont pas. J'espère que c'est pas trop confu. Voici mon code et merci de votre aide.

    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
    function load() {
      if (GBrowserIsCompatible()) {
    	map = new GMap2(document.getElementById("map"));
    	geocoder = new GClientGeocoder();
     
    function createMarkersEtbl(i) {
    var coordonees = etbl[i][4];
    if (coordonees) {
    	var point = new GLatLng(coordonees);
    	alert(point);
    	var marker=(new GMarker(point));
    	batchEtbl.push(marker);
    	var infoTabs = [
    	new GInfoWindowTab("Adresse", ('<span class=a-resultats-menu><?echo $texte_resultats["text23"] ?>'+etbl[i][3]+'<? echo "&nbsp;" ?>'+etbl[i][1]+'<? echo "<br><br><\/span><a href='+etbl[i][2]+' class=resultats-menu>" ?>'+etbl[i][1]+'<\/a>')),
    	];
    	GEvent.addListener(marker, "mouseover", function() {
    	marker.openInfoWindowTabsHtml(infoTabs);
    	});
    	GEvent.addListener(marker, "click", function() {
    	window.location.href = etbl[i][2];
    	});  
    	if (i+1<etbl.length) {
    	createMarkersEtbl(i+1);
    	} else {
    	mgr.addMarkers(batchEtbl, 5);
    	mgr.refresh();
    	}
    } else {
    	if (geocoder) {
    		geocoder.getLatLng(etbl[i][0], function(point) {
    			if (point) {
    				var marker=new GMarker(point);
    				batchEtbl.push(marker);
    				var infoTabs = [
    				new GInfoWindowTab("Adresse", ('<span class=a-resultats-menu><?echo $texte_resultats["text23"] ?>'+etbl[i][3]+'<? echo "&nbsp;" ?>'+etbl[i][1]+'<? echo "<br><br><\/span><a href='+etbl[i][2]+' class=resultats-menu>" ?>'+etbl[i][1]+'<\/a>')),
    				];
    				GEvent.addListener(marker, "mouseover", function() {
    				marker.openInfoWindowTabsHtml(infoTabs);
    				});
    				GEvent.addListener(marker, "click", function() {
    				window.location.href = etbl[i][2];
    				});     
    			}
    			if (i+1<etbl.length) {
    			createMarkersEtbl(i+1);
    			} else {
    			mgr.addMarkers(batchEtbl, 5);
    			mgr.refresh();
    			}
    		});
    	}
    }
    }
     
    	map.setCenter(new GLatLng(48.9, 2.3), 5);
    	map.addControl(new GMapTypeControl());
    	map.addControl(new GSmallMapControl());
    	map.enableScrollWheelZoom();
    	map.addControl(new GOverviewMapControl());
    	map.addControl(new GScaleControl());
    	centrecarte(address);
    	createMarkersEtbl(0);//lancement de la fonction permettant de créer les markers des pays
    	mgr = new GMarkerManager(map);//on créer un marker manager//création d'un manager de marker
      }
    }

  2. #2
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Puis-je me permettre de te suggérer d'abord cette lecture, qui ne résoudra pas encore le problèmle mais nous aidera à t'aider (parce que je pense que personne ne lira ton code sous cette forme assez "brutale" )

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    C'est fait merci

  4. #4
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut Piste
    Salut,

    Dans ton message tu ne dis pas ce que tu attends. Où as tu détecté que quelque chose cloche dans ton code ?
    Néanmoins je peux imaginer 2 éléments de réponse:

    1. Ton code peut être factorisé, ce qui simplifierait quand même un peu l'ensemble
    2. D'après Google Maps, la signature du constructeur de GLatLng est:
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      GLatLng(lat:Number, lng:Number, unbounded?:Boolean)
      or tu inscris dans ton code:
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      var point = new GLatLng(coordonees);
      ce qui semble ne pas coller


    Qu'en penses tu ?

    ERE

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour et merci de ta réponse.
    En fait, je cherche à ce que l'api m'affiche le point en fonction des coordonnées (Lat, lng) si il y en a et en fonction de l'adresse si ces coordonnées sont absentes.

  6. #6
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Citation Envoyé par annalex Voir le message
    Bonjour et merci de ta réponse.
    En fait, je cherche à ce que l'api m'affiche le point en fonction des coordonnées (Lat, lng) si il y en a et en fonction de l'adresse si ces coordonnées sont absentes.
    J'ai bien compris ce que tu cherches à faire.

    Et regarde ce que je t'écrivais: ton instanciation de GLatLng ne correspond pas à la doc donnée pour le constructeur.

    ERE

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Re et encore merci.
    En fait j'ai fais ce que tu m'as conseillé mais c'est toujours pareil.
    Comme tu peux voir dans mon code, j'ai placé un controleur
    qui me renvoie 'NaN' des qu'il place un point ayant une coordonnée.
    Ceux ayant des adresse fonctionnent correctement.

  8. #8
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Repasse ton code modifié stp.

    Peux tu aussi envoyer un jeu de coordonnées que tu passes ?

    ERE

Discussions similaires

  1. [Google Maps] GoogleMap api v3 - InfoWindow ne fonctionne pas
    Par deuxk dans le forum APIs Google
    Réponses: 1
    Dernier message: 27/04/2012, 00h32
  2. [Google Maps] marker animé avec googlemap api v3
    Par lolalilo dans le forum APIs Google
    Réponses: 3
    Dernier message: 22/09/2011, 23h02
  3. API GoogleMap ok sous FF mais pas sous IE
    Par David4 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/07/2008, 14h26
  4. marker , googleMap API
    Par porco dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/05/2007, 11h46
  5. [API GoogleMap] Bouton plein ecran
    Par dam_moreyllo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/03/2007, 12h55

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