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 :

Erreur de script API 3.22 [Google Maps]


Sujet :

APIs Google

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    983
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 983
    Points : 1 030
    Points
    1 030
    Billets dans le blog
    36
    Par défaut Erreur de script API 3.22
    Bonjour à tous,

    J'ai un objet ActiveX WebBrowser Access qui charge un fichier JavaScript qui permet d'afficher une liste de markers et d'attacher une infoWindow avec deux onglets (le 1er affiche des données et le 2d une streetview).

    • Le chargement de la carte GOOGLE MAPS, des markers et des infoWindows. => OK.
    • Le clic sur le 1er onglet. => Ok.


    Par contre j'ai les erreurs de script ci-dessous, non bloquantes puisque le streetView apparait.

    Au 1er appel de l'onglet streetView j'ai l'erreur de script suivante (une seule fois) :
    Nom : infoWindows_tabStreetView_util.jpg
Affichages : 1448
Taille : 35,1 Ko

    Puis à l'ouverture de chaque onglet streetView, j'ai l'erreur de script (autant de fois que j'ouvre un onglet streetView) :
    Nom : infoWindows_tabStreetView_322.jpg
Affichages : 1334
Taille : 37,8 Ko

    API et bibliothèques JQuery appelées :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <!-- saved from url=(0016)http://localhost -->
    <!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" style="overflow:hidden;">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <title>Google Map</title>
    <link href = "http://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css " rel = "stylesheet" type="text/css"/>
    <script type="text/javascript" src = "http://code.jquery.com/jquery-1.10.2.js"></script>
    <script type="text/javascript" src = "http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&v=3.22"></script> 
    <script type="text/javascript" src="utils.js"></script>

    Code de la fonction de création d'un marker et de l'infoWindow associée :
    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
    oMap.addMarker = function(lat,lng,msg,type)
    {	if (oMap.map)
    	{	var latlng = new google.maps.LatLng(lat,lng);
    		switch (type)
    		{	case 'H':
    				var options =
    				{	position: latlng,
    					map: oMap.map,
    					title: msg
    				};
    				break;
    			case 'S':
    				var options =
    				{	position: latlng,
    					map: oMap.map,
    					icon: "http://chart.apis.google.com/chart?chst=d_map_spin&chld=1|0|B5FF33|11|b|Salle",
    					title: msg
    				};
    				break;
    		};	
    		var marker = new google.maps.Marker(options);
    		var contentMarker = 
    		[	'<div id="InfoText">', 
    				'<div class ="tabs">',	
    					'<ul>', 
    						'<li><a href="#tab1">General</a></li>',
    						//'<li><a href="#tab2">Street View</a></li>',
    						'<li><a href="#tab2" id="SV">Street View</a></li>',
    					'</ul>', 
    					'<div id="tab1">', 
    						'<h3><b>' + options.title + '</h3></b>',
    						'<p> Coordonnées GPS : ' + options.position  + '</p>',
    					'</div>', 
    					'<div id="tab2">',
    						'<div id="pano"></div>', 
    					'</div>',
    				'</div>',
    			'</div>'
    		].join('');
     
    		var infowindow = new google.maps.InfoWindow(
    		{	content  : contentMarker,
    			position : latlng
    		});
     
    		google.maps.event.addListener(marker, "click", function () {
            infowindow.open(this.getMap(), this);
    		});
     
    		var panoramaOptions = {
    			position: marker.position
    		};
    		google.maps.event.addListener(infowindow, 'domready', function () {
    			$(".tabs").tabs();
    			$('#SV').click(function () {
    				var panorama = new google.maps.StreetViewPanorama(document.getElementById("pano"), panoramaOptions);
    				oMap.setStreetView(panorama);
    			});
    		});
     
    		oMap.markers.push(marker);
    	};

    Merci par avance pour votre aide et bonjour chez vous.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    Bonjour,
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&v=3.22"></script>
    à ce jour il faut récupérer le code sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script src="http://maps.googleapis.com/maps/api/js"></script>
    Pas assez de code pour en être sûr mais il semblerait que les ID de tes éléments ne soient pas UNIQUE si tu ouvres une nouvelle infoWindows à chaque fois.

    Une page tes en ligne serait un plus.

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    983
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 983
    Points : 1 030
    Points
    1 030
    Billets dans le blog
    36
    Par défaut
    Bonjour NoSmoking et merci pour ton aide.

    J'ai changé l'URL de l'appel à l'API Google Maps par contre sur le commentaire de l'ID de l'infoWindow, je sèche comme un risotto à l'encre!
    Pourrais-tu m'aider un peu plus SVP?


    Bonjour chez vous

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    983
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 983
    Points : 1 030
    Points
    1 030
    Billets dans le blog
    36

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    ...par contre sur le commentaire de l'ID de l'infoWindow, je sèche comme un risotto à l'encre!
    je te propose cette petite séquence de test sur ta page http://monhost.hol.es/infoWindow/streetView.html.
    • Clique sur le marqueur Paris, l'infoWindow à onglets s'affiche
    • Clique sur le marqueur Lyon par exemple, l'infoWindow à onglets s'affiche
    • Clique sur l'onglet [Street View] de l'infoWindow liée à Paris
    ...
    et "bizarrement" la Street View correspond à Lyon et non pas à Paris, c'est l'illustration de
    il semblerait que les ID de tes éléments ne soient pas UNIQUE...

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    983
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 983
    Points : 1 030
    Points
    1 030
    Billets dans le blog
    36
    Par défaut
    Chez moi ça s'affiche bien même s'il y a un petit temps de latence pour rafraîchir la streetView voir les copies d'écran

    Nom : streetView_markers_Paris.jpg
Affichages : 1265
Taille : 94,6 Ko
    Nom : streetView_markers_Bordeaux.jpg
Affichages : 1480
Taille : 76,8 Ko


    Encore merci pour ton aide qui m'évite d’échafauder des théories farfelues

    Bonjour chez toi

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    Chez moi ça s'affiche bien même s'il y a un petit temps de latence...
    parce que tu fermes l'infoWindow à chaque fois, sinon où est donc le problème !?!

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    983
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 983
    Points : 1 030
    Points
    1 030
    Billets dans le blog
    36
    Par défaut
    Salut NoSmoking

    Tu as raison, avec mon code il n'est pas possible d'ouvrir plusieurs strretViews en même temps. Je comprends mieux maintenant ta remarque sur l'unicité de l'id ==> Aurais-tu une suggestion pour remédier à ce problème?

    Sinon mon problème initial concerne les messages de script à l'appel de la streetView dans un objet Internet WebBrowser d'Access, messages d'erreur qui n'apparaissent pas quand j'appelle ce même code dans un browser via http://monhost.hol.es.

    Mais c'est non bloquant dans Access alors tant pis si pas d'explication probante.

    La question est aussi la rubrique choisie pour ce sujet, serait peut-être plus pertinent de le déplacer dans MS-Access? Question à laquelle tout le monde doit être confronté quand il y a plusieurs technos utilisées.

    Encore merci pour ton aide très constructive.

    Bonjour chez toi

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    Aurais-tu une suggestion pour remédier à ce problème?
    - en maintenant les multiples infoWindows il te faut gérer/générer des ID différentes en fonction de tes marqueurs.
    - en passant par une seule infoWindow, qui pour moi serait quand même plus clair au niveau de la présentation, ce problème ne se poserait pas et il te suffirait de modifier le contenu de tes différents onglets.

    Sinon mon problème initial concerne les messages de script à l'appel de la streetView dans un objet Internet WebBrowser d'Access
    pas sûr effectivement que cela soit le bon forum, ni même la bonne discussion d'ailleurs !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/04/2006, 17h53
  2. Erreur de script
    Par Xdrei dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/02/2006, 23h14
  3. Réponses: 5
    Dernier message: 16/01/2006, 07h37
  4. erreur sur script de sauvegarde
    Par zouetchou dans le forum Langage
    Réponses: 5
    Dernier message: 08/12/2005, 08h50
  5. [pgAdminIII] Comment ignorer les erreurs de script
    Par Escandil dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 22/07/2005, 12h03

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