' +
' It is possible to download the GPS file : ' + '' + fichier_gpx +'' + ajout;
L.DomEvent.disableClickPropagation(div); // empêcher les actions de la souris sur la carte quand on est sur le div des explications (zoom avec la molette, ...)
L.DomEvent.disableScrollPropagation(div);
return div;
}
explication.addTo(macarte);
}
// Traçage du parcours par morceaux
morceaux = function () {
let indice_max=Parcours[piste].trace[troncon].length-1; // Indice extrême de la portion de parcours
let indice=Math.round(indice_max/2); // Indice central de la portion de parcours
macarte.flyTo(Parcours[piste].trace[troncon][indice]); // Centrage sur le point central de la portion de parcours + zoom
for (var i=1; i <= indice_max ; i++) { // Calcul de la longueur de la portion de parcours, à ajouter à la longueur totale du parcours
longueur += getDistance(Parcours[piste].trace[troncon][i-1],Parcours[piste].trace[troncon][i]);
};
longueur = Math.round (longueur);
explication = L.control({position : 'bottomright'});
explication.onAdd = function (map) {
var div = L.DomUtil.create('div','parcoursPopup');
var message;
switch (troncon) {
case 0:
message = 'Start your walk';
break;
case Parcours[piste].trace.length-1:
message = 'End your walk';
break;
default:
message = 'Continue your walk';
}
div.innerHTML = Parcours[piste].waypoints[troncon] +
' ' + ' ' +
'' ;
L.DomEvent.disableClickPropagation(div); // empêcher les actions de la souris sur la carte quand on est sur le div des explications (zoom avec la molette, ...)
L.DomEvent.disableScrollPropagation(div);
return div;
}
explication.addTo(macarte);
route[troncon] = new L.Polyline(Parcours[piste].trace[troncon],polylineOptions_focus);
route[troncon].addTo(macarte);
var bords = route[troncon].getBounds();
var augmentation = 0.0002;
bords._northEast.lat += augmentation;
bords._northEast.lng += augmentation;
bords._southWest.lat -= augmentation;
bords._southWest.lng -= augmentation;
macarte.fitBounds(bords); // Pour ajuster le zoom de la carte à la portion de parcours (un peu plus grand pour que les extrémités soient visibles)
// ajout des points d'intérêt dans un rayon de 260 m autour de la ligne de la portion de parcours
var cercle_layer = L.geoJSON(patrimoine, {
onEachFeature: function (feature, layer) {
layer.bindPopup(" " + '' + feature.properties.name + ' '+ feature.properties.description,customOptions);
},
pointToLayer: function(feature, latlng) {
for (var i = 0; i < Parcours[piste].trace[troncon].length; i ++) {
var ecart=getDistance([latlng.lat,latlng.lng],Parcours[piste].trace[troncon][i]);
if (ecart <= 260) {
var marqueur_cercle = L.marker(latlng, {
icon: L.icon({
iconUrl : iconBase + feature.properties.sym + '.png',
iconSize : [23,37],
})
});
markersArray.push(marqueur_cercle); // ajouter au tableau des marqueurs
return marqueur_cercle;
}
}
}
});
cercle_layer.addTo(macarte);
// ajout des lieux-dits dans un rayon de 260 m autour de la ligne de la portion de parcours
var cercle_topo_layer = L.geoJSON(toponymie, {
onEachFeature: function (feature, layer) {
var description=feature.properties.Description;
if (description == null) {description = ''}
layer.bindPopup(" " + '' + feature.properties.Nom + ' ' + description ,customOptions );
},
attribution : ' + \"Noms de lieux du Grand Etalle\" par Albert Lamand ',
pointToLayer: function(feature, latlng) {
for (var i = 0; i < Parcours[piste].trace[troncon].length; i ++) {
var ecart=getDistance([latlng.lat,latlng.lng],Parcours[piste].trace[troncon][indice]);
if (ecart <= 260) {
var marqueur_cercle_topo = L.marker(latlng, {
icon: L.icon({
iconUrl : iconBase + 'circle.png',
iconSize : [30,30],
})
});
markersArray.push(marqueur_cercle_topo); // ajouter au tableau des marqueurs
return marqueur_cercle_topo;
}
}
}
});
cercle_topo_layer.addTo(macarte);
}
// Ajout de ces contrôles
L.control.layers(baseMaps).addTo(macarte);
// Contrôle pour l'échelle
L.control.scale({imperial: true}).addTo(macarte);
// Contrôle pour le choix du parcours
command.addTo(macarte);
};
window.onload = function(){
// Fonction d'initialisation qui s'exécute lorsque le DOM est chargé
initMap();
};