Vous avez trouvé ce tutoriel intéressant ? Recommandez le en cliquant sur le bouton +1    

Création polyline sur click - Visualisation encodage / décodage

Tutoriel publié le
Tutoriel en Français

Ce tutoriel vous permet de créer une Polyline en cliquant sur la carte.

Au fur et à mesure de sa construction, les données de la Polyline s'affichent encodées et décodées sous la carte.

Carte Google Maps

Polyline encodée et décodée

Polyline EncodéesLatLng de la Polyline

Exemple de code

<!DOCTYPE html>
<html lang="fr">
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
<meta charset="UTF-8" />
<title>Titre de votre page</title>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=geometry"></script>
<script type="text/javascript">
var polyline; 
var maCarte; 
var html = "";
var flag = false; 

function initialize () { 
	var Tours = new google.maps.LatLng (47.390273,0.688834); 
	var optionsCarte = { 
		zoom: 14, 
		center: Tours, 
		mapTypeId: google.maps.MapTypeId.ROADMAP 
	}; 
  
	var maCarte = new google.maps.Map(document.getElementById("EmplacementDeMaCarte"), optionsCarte); 
  
	var optionsPolyline = {
		map: maCarte,
		strokeColor: "#FF0000", 
		strokeOpacity: 1.0, 
		strokeWeight: 3 
	} 
	polyline = new google.maps.Polyline(optionsPolyline); 

	google.maps.event.addListener (maCarte, "click", ajouterLatLng); 
} 
	  
function ajouterLatLng(evenement){ 
	var path = polyline.getPath(); 
	path.push (evenement.latLng);
	if(flag){
		html = html +", "+ evenement.latLng;
	}else{
		html = html + evenement.latLng;
		flag = true;
	}
	/* Mise à jour des champs texte affichant les données de la polyligne */
	var encodeString = google.maps.geometry.encoding.encodePath (path); 
	if (encodeString != null) { 
		document.getElementById("encodedPolyline").innerHTML = encodeString; 
		document.getElementById("coordonnes").innerHTML = html; 
	} 
} 
</script>
</head>
<body style="margin:0px; padding:0px;" onload="initialize()">
	<div id="EmplacementDeMaCarte" style="width:100%; height:400px"></div>
	<table style="width:100%">
		<tr><th style="width:50%">Polyline Encodées</th><th style="width:50%">LatLng de la Polyline</th></tr>
		<tr>
			<td><textarea style="width:100%;height:400px;border:1px solid #CCCCCC" id="encodedPolyline" name="" cols="" rows="" readonly="readonly"></textarea></td>
			<td><textarea style="width:100%;height:400px;border:1px solid #CCCCCC" id="coordonnes" name="" cols="" rows="" readonly="readonly"></textarea></td>
		</tr>
	</table>
	<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>