[Javascript] Google map compatibilité FF et IE :s

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par ZelkiN, 29 Août 2008.

  1. ZelkiN
    ZelkiN WRInaute occasionnel
    Inscrit:
    27 Juillet 2007
    Messages:
    458
    J'aime reçus:
    0
    Bonjour à vous, je fais appel aux experts débugger du js :(

    Démoralisé complet j'essaye de faire une google map avec api pour des clients, en gros il entre leur adresse, cp et ville dans un form qui ai enregistré dans une bdd, puis je récupere mes données directe sur la google map...

    Tout marche avec Firefox, ca marche meme particulierement bien, mais rien sur IE :s il y a une erreur sur ce script je pense. Si quelqu'un pouvait m'aider svp :(

    Code:
    // JavaScript Document
    //setTimeout('initData()', 500);
    
    var map;
    var geocoder;
    var centerLatitude = 47.389285;
    var centerLongitude = 0.689049; 
    var startZoom = 9;
    var xmlhttp;
    var markers;
    
    var iconeVert = new GIcon();
    iconeVert.image = "images/vert.png";
    iconeVert.shadow = "images/ombre.png";
    iconeVert.iconSize = new GSize(12, 20);
    iconeVert.shadowSize = new GSize(22, 20);
    iconeVert.iconAnchor = new GPoint(6, 20);
    iconeVert.infoWindowAnchor = new GPoint(5, 1);
    
    var deselectCurrent = function() {};
    
    function searchPoint(queri) {
    var queries = "" + queri;
    var s = document.createElement( "script" );
    s.src="http://www.localsearchmaps.com/geo/" + queries + "&cb=mapZoom";
    s.type = "text/javascript";
    document.getElementsByTagName( "head" )[0].appendChild(s);
    }
    
    
    function initializePoint(pointData) {
    	var point = new GLatLng(pointData.latitude, pointData.longitude);
    	var marker = new GMarker(point,{icon: iconeVert, title: pointData.nom});
    	var listItem = document.createElement('li');
    	var listItemLink = listItem.appendChild(document.createElement('a'));
    	listItemLink.href = "#";
    	listItemLink.onmouseover = function() { marker.setImage("images/rouge.png");}
    	listItemLink.onmouseout = function() { marker.setImage("images/vert.png");}
    	listItemLink.innerHTML = '<strong>' + pointData.nom + ' - ' + pointData.identifiant +' </strong><span>' + pointData.ville+ '</span>';
    	
    	var focusPoint = function() {
    		deselectCurrent();
    		listItem.className = 'current';
    		marker.setImage("images/rouge.png");
    		deselectCurrent = function() { listItem.className = ''; marker.setImage("images/vert.png");}
    		marker.openInfoWindowHtml(pointData.nom+' - BAL : '+pointData.identifiant+' - '+pointData.ville);
    		map.panTo(point);
    		return false;
    	}
    	
    	listItemLink.onclick = focusPoint;
    	GEvent.addListener(marker, 'click', focusPoint);	
    	GEvent.addListener(marker, 'mouseover', function() { marker.setImage("images/rouge.png"); });
    	GEvent.addListener(marker, 'mouseout', function() { marker.setImage("images/vert.png"); });
    	GEvent.addListener(marker, 'infowindowclose', function(){marker.setImage("images/vert.png");});	
    	document.getElementById('sidebar-list').appendChild(listItem);
    	map.addOverlay(marker);
    }
    
    function windowHeight() {
    	// Standard browsers (Mozilla, Safari, etc.)
    	if (self.innerHeight)
    		return self.innerHeight;
    	// IE 6
    	if (document.documentElement && document.documentElement.clientHeight)
    		return document.documentElement.clientHeight;
    	// IE 5
    	if (document.body)
    		return document.body.clientHeight;
    	// Just in case.
    	return 0;
    }
    
    function handleResize() {
    	var height = windowHeight()-20;
    	document.getElementById('map').style.height = height + 'px';
    	document.getElementById('sidebar').style.height = height + 'px';
    }
    
    function changeBodyClass(from, to) {
    	document.body.className = document.body.className.replace(from, to);
    	return false;
    }
    
    function setAlertText(str) {
    	document.getElementById('alert').innerHTML = '<p>' + str + '</p>';
    }
    
    function initData() {
    	map = new GMap(document.getElementById("map"),{mapTypes:[G_PHYSICAL_MAP,G_NORMAL_MAP,G_SATELLITE_MAP,G_HYBRID_MAP]});
    	map.addControl(new GMapTypeControl());
    	map.addControl(new GLargeMapControl());
    	map.addControl(new GOverviewMapControl(new GSize(200,180)));
    	map.setCenter(new GLatLng(centerLatitude, centerLongitude), startZoom);
    	geocoder = new GClientGeocoder();
    	var bounds = new GLatLngBounds();
    	for(id in markers) {
    		initializePoint(markers[id]);
    		bounds.extend(new GLatLng(markers[id].latitude, markers[id].longitude));
    	}
    	map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
    	changeBodyClass('loading', 'standby');
    	var divt = document.createElement('div');
    	divt.style.margin = "0";
    	divt.style.padding = "0";
    	divt.style.textAlign = "center";
    	divt.style.backgroundColor = "#FFF9DD";
    	divt.style.borderTop = "1px solid #dddddd";
    	divt.innerHTML = "";
    	var linkt = divt.appendChild(document.createElement('a'));
    	
    	document.getElementById('sidebar').appendChild(divt);
    }
    
    function init() {
    		handleResize();
    		xmlhttp = GXmlHttp.create();
    		xmlhttp.open('GET', 'js/json.php', true);
    		xmlhttp.onreadystatechange = function() {
    			if (xmlhttp.readyState == 4) {
    				if (xmlhttp.status != 200) 
    					setAlertText('Impossible d acceder aux donnees de la carte.');
    				else
    				{
    					var responseText = xmlhttp.responseText;
    					markers = eval(responseText);
    					if (!markers)
    						setAlertText('Erreur de donnees.');
    					else
    						initData();
    				}
    		   }
    		}
    		xmlhttp.send(null);
    		
    }
    
    
    //setTimeout('initData()', 5000);    
    window.onresize = handleResize;
    window.onload = init;
    window.onunload = GUnload;
    
    Pour infos, vous pouvez voir la google map ici : http://www.secteur18.com/fr/game/affichage.htm , mes infos récupéré pour la bdd sont sur ce fichier http://www.secteur18.com/fr/game/js/json.php

    :)
     
  2. ZelkiN
    ZelkiN WRInaute occasionnel
    Inscrit:
    27 Juillet 2007
    Messages:
    458
    J'aime reçus:
    0
    Bon je crois que j'ai trouver le truc, enfaite ca viendrait de la fonction EVAL de javascript

    Code:
    					markers = eval(responseText);
    
    Mais comment contourner ca ?
     
  3. ZelkiN
    ZelkiN WRInaute occasionnel
    Inscrit:
    27 Juillet 2007
    Messages:
    458
    J'aime reçus:
    0
    pb résolu, merci

    Pour infos ca venait du fichier php ou une virgule de trop s'était caché :mad:
     
Chargement...
Similar Threads - [Javascript] Google map Forum Date
[JAVASCRIPT] edition de valeurs dans un tableau grâce à AJAX Développement d'un site Web ou d'une appli mobile 26 Septembre 2011
[RESOLU][Javascript] ordre de priorité des évènements Développement d'un site Web ou d'une appli mobile 9 Août 2011
[javascript] afficher quelques chose dans un champ input hidden Développement d'un site Web ou d'une appli mobile 13 Janvier 2009
[Résolu] [Javascript] valider un formulaire par un lien Développement d'un site Web ou d'une appli mobile 22 Octobre 2008
[Javascript] ALert à la fermeture d'une fenêre Développement d'un site Web ou d'une appli mobile 17 Septembre 2008
[Javascript] savoir où l'utilisateur a cliqué Développement d'un site Web ou d'une appli mobile 14 Décembre 2006
[Javascript]Savoir si acrobat reader est installé Développement d'un site Web ou d'une appli mobile 13 Juillet 2006
[javascript] une fonction appliqué à TOUS mes text-area Développement d'un site Web ou d'une appli mobile 24 Avril 2006
[JavaScript] vérifier que le bouton de souris soit enfoncé Développement d'un site Web ou d'une appli mobile 6 Février 2006
[javascript] trouver le nom des formulaires d'une page Développement d'un site Web ou d'une appli mobile 11 Janvier 2006
[Javascript] Focus et formulaires Développement d'un site Web ou d'une appli mobile 16 Novembre 2005
[JavaScript] Affichage d'un formulaire => Bug Développement d'un site Web ou d'une appli mobile 27 Août 2005
ajout de "domaine à vendre" dans les résultats google Référencement Google Aujourd'hui à 10:53
Pourquoi "Nom Prénom:" Avant mon "title" Google ? Débuter en référencement Hier à 09:30
Google Core Update Mai 2022 Référencement Google Jeudi à 12:12
Google search console ne reconnait pas mon backlink Netlinking, backlinks, liens et redirections Mercredi à 10:43
TOP 1 dans Google sur des produits Référencement Google 21 Mai 2022
Aucunes données sur Google Analytics - prestashop Google Analytics 19 Mai 2022
Cette URL n'a pas été indexée par Google Débuter en référencement 18 Mai 2022
Mon site n’est pas indexé sur Google Débuter en référencement 10 Mai 2022