diff --git a/js/main.js b/js/main.js index cc74beb..bfeb07a 100644 --- a/js/main.js +++ b/js/main.js @@ -6,10 +6,10 @@ */ import config from './config.js' import utils from './utils.js' -import colorUtils from "./color-utils.js" +import colorUtils from './color-utils.js' console.log('config', config) -let geojsondata; +let geojsondata // serveurs de tuiles: https://wiki.openstreetmap.org/wiki/Tile_servers // https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png @@ -22,72 +22,71 @@ const tileServer_stamen = 'https://a.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png // Créer la carte centrée sur Rouen // Liste des 20 villes les plus peuplées de France avec leurs coordonnées géographiques - - // Initialisation de la carte avec la vue centrée sur la ville choisie -let map = L.map('map'); +let map = L.map('map') +L.control.scale().addTo(map) - -function setRandomView(){ +function setRandomView () { console.log('set random view') // Choix au hasard d'une ville parmi la liste let randomCity = utils.cities[Math.floor(Math.random() * utils.cities.length)] console.log('randomCity', randomCity) map = map.setView(randomCity.coords, config.initialZoom) } -function setCoordinatesOfLeafletMapFromQueryParameters() { + +function setCoordinatesOfLeafletMapFromQueryParameters () { // Récupère les paramètres de l'URL // console.log('window.location', window.location.href, window) - const urlParams = new URLSearchParams(window.location.href); + const urlParams = new URLSearchParams(window.location.href) // console.log('urlParams', urlParams) // Récupère les coordonnées et le zoom à partir des paramètres de l'URL - const lat = urlParams.get('lat'); - const lng = urlParams.get('lng'); - const zoom = urlParams.get('zoom'); + const lat = urlParams.get('lat') + const lng = urlParams.get('lng') + const zoom = urlParams.get('zoom') // console.log('lat,lng,zoom', lat, lng, zoom) // Vérifie si les paramètres sont présents et valides if (lat && lng && zoom) { // Initialise la carte avec les coordonnées et le zoom récupérés - map = map.setView([lat, lng], zoom); + map = map.setView([lat, lng], zoom) } else { // Affiche une erreur si les paramètres sont absents ou invalides - console.error('Les paramètres de coordonnées et de zoom doivent être présents dans l\'URL.'); + console.error('Les paramètres de coordonnées et de zoom doivent être présents dans l\'URL.') setRandomView() } } -function updateURLWithMapCoordinatesAndZoom() { +function updateURLWithMapCoordinatesAndZoom () { // Récupère les coordonnées et le niveau de zoom de la carte - const center = map.getCenter(); - const zoom = map.getZoom(); + const center = map.getCenter() + const zoom = map.getZoom() // Construit l'URL avec les paramètres de coordonnées et de zoom - const url = `#coords=1&lat=${center.lat}&lng=${center.lng}&zoom=${zoom}`; + const url = `#coords=1&lat=${center.lat}&lng=${center.lng}&zoom=${zoom}` // console.log('updateURLWithMapCoordinatesAndZoom url', url) // Met à jour l'URL de la page - history.replaceState(null, null, url); + history.replaceState(null, null, url) } var osm = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { - attribution: config.osmMention+'© OpenStreetMap contributors' + attribution: config.osmMention + '© OpenStreetMap contributors' }) var cycle = L.tileLayer('https://{s}.tile.opencyclemap.org/{z}/{x}/{y}.png', { - attribution: config.osmMention+'© OpenCycleMap contributors' + attribution: config.osmMention + '© OpenCycleMap contributors' }) var transport = L.tileLayer('https://{s}.tile.thunderforest.com/transport/{z}/{x}/{y}.png', { - attribution: config.osmMention + attribution: config.osmMention }) let tileGrey = L.tileLayer(tileServer, { - attribution: config.osmMention + attribution: config.osmMention }) let stamen = L.tileLayer(tileServer_stamen, { - attribution: config.osmMention + attribution: config.osmMention }) var baseLayers = { 'Grey': tileGrey, @@ -97,11 +96,13 @@ var baseLayers = { 'Transport': transport } -let overlays = {} // Si vous avez des calques superposables, ajoutez-les ici +let stations_bof = L.layerGroup().addTo(map) // layer group pour tous les marqueurs +let stations_much_speed_wow = L.layerGroup().addTo(map) // layer group des stations rapides + +let overlays = { stations_bof, stations_much_speed_wow } // Si vous avez des calques superposables, ajoutez-les ici const layerControl = L.control.layers(baseLayers, overlays, { collapsed: true }).addTo(map) tileGrey.addTo(map) -let filteredMarkers = L.layerGroup().addTo(map) function buildOverpassApiUrl (map, overpassQuery) { @@ -172,12 +173,6 @@ function supprimerMarqueurs (map) { }) } - - - - - - let coef_reduction_bars = 0.8 function calculerPourcentage (partie, total, reduc) { @@ -285,8 +280,6 @@ ${count_estimated_type2combo} (${calculerPourcentage(count_estimated_type2combo, $('#bars_power').html(bar_powers) } - - function bindEventsOnJosmRemote () { let josm_remote_buttons = $(`.josm`) // console.log('josm_remote_buttons', josm_remote_buttons[0]) @@ -336,24 +329,24 @@ function displayPointsFromApi (points) { onEachFeature: function (feature, layer) { let popupContent = '' - popupContent+='