Partage
  • Partager sur Facebook
  • Partager sur Twitter

infowindow google map

Sujet résolu
    10 août 2010 à 10:58:23

    Bonjour,

    Voila, je ne comprend pas pourquoi, mais mon code pour afficher des infowindows sous google map API v3 ne fonctionne pas...

    Voici mon code:

    De la page HTML:

    <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
    <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='fr'>
    	<head>
    		<title>cartographie</title>
    		<link rel='stylesheet' type='text/css' href='Cartes.css'>
    		<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
    		<script type='text/javascript' src='http://maps.google.com/maps/api/js?sensor=true'></script>
    		<script type='text/javascript' src='temp.js'></script>
    	</head>
    	<body>
    		<script>
    			window.onload = function() {
    				var maCarte = new Carte(9, 0, 0, 'ROADMAP');
    				maCarte.addMarker('antenne 3G', 'mm_20_orange.png', 'florent', 0, 0);
    				}
    		</script>
    		<div>
    			<h1>surprise</h1>
    		<br/>
    		<div id='map' style='width:75%; height:75%' >
    		</div>
    		<noscript>
    			<p>Attention : </p>
    			<p>Afin de pouvoir utiliser Google Maps, JavaScript doit être activé.</p>
    			<p>Or, il semble que JavaScript est désactivé ou qu'il ne soit pas supporté par votre navigateur.</p>
    			<p>Pour afficher Google Maps, activez JavaScript en modifiant les options de votre navigateur, puis essayez à nouveau.</p>
    		</noscript>
    	</body>
    </html>
    

    De mon javascript:

    function Carte	(
    			optZoom,
    			Lattitude,
    			Longitude,
    			optMapTypeId
    		)
    {
    	var optCenterMap = new google.maps.LatLng(Lattitude, Longitude);
    	var mapType = google.maps.MapTypeId[optMapTypeId];
    	var options =
    		{
    			center: optCenterMap,
    			mapTypeId: mapType,
    			zoom: 	optZoom	
    		};
    	this.carte = new google.maps.Map(document.getElementById("map"), options);
    }
    Carte.prototype.addMarker = function 	(
    						Window,
    						Image,
    						Nom,
    						Lattitude,
    						Longitude
    					)
    {
    	var infowindow = new google.maps.InfoWindow(
    		{
    			content: Window
    		});
    	var optCenterMarker = new google.maps.LatLng(Lattitude, Longitude);
    	
    	var marker = new google.maps.Marker(
    		{
    			position : 	optCenterMarker,
    			title : 	Nom,
    			icon : 		Image,
    			map : 		this.carte
    		});
    	google.maps.event.addListener(marker, 'click', function()
    		{
    			infowindow.open(this.carte, marker);
    			alert(Window);
    		});
    };
    


    Je continu de chercher de mon coté, si vous voyez une erreur n'hésitez pas à m'en faire par.

    Merci

    EDIT:

    Le code fonctionne bien, la carte s'affiche ainsi que le marqueur, mais quand je clique dessus, rien ne se passe et le navigateur me dit qu'il y a des erreurs sur la page.

    Edit2:

    Problème résolu en déclarant carte comme variable globale (avant la déclaration de la fonction). Ainsi plus besoin de mettre this.carte qui était l'origine de la panne.
    • Partager sur Facebook
    • Partager sur Twitter

    infowindow google map

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown