Encoder / décoder une polyline
Ce tutoriel vous permet de créer et de tracer une Polyline en cliquant sur la carte.
Au fur et à mesure de sa construction, les données de la Polyline s'affichent sous forme de données encodées (via encodePath) et d'objet LatLng sous la carte.
Encoder / décoder une polyline sur une carte Google Maps
Encodage et décodage d'une polyline et affichage des données
| Polyline Encodées | LatLng de la Polyline |
|---|---|
Exemple de code pour encoder et décoder une polyline
<!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 polyline */
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>
