1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| /*------------------------------------------
MAP
------------------------------------------*/
class Map {
constructor() {
this.map = L.map('map').setView([49.8941708, 2.2956951], 13);
this.stations = [{ "number": 2, "contract_name": "amiens", "name": "02- LES HALLES", "address": "Rue J Natiere", "position": { "lat": 49.896032388592566, "lng": 2.295043974872919 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 11, "available_bikes": 9, "status": "OPEN", "last_update": 1586940960000 }, { "number": 10, "contract_name": "amiens", "name": "10- PALAIS DE JUSTICE", "address": "Place D' Aguesseau", "position": { "lat": 49.8933588618336, "lng": 2.301314220716614 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 12, "available_bikes": 8, "status": "OPEN", "last_update": 1586940816000 }, { "number": 4, "contract_name": "amiens", "name": "04- PLACE AU FEURRE", "address": "Place au Feurre", "position": { "lat": 49.89729029741273, "lng": 2.297864452413288 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 10, "available_bikes": 10, "status": "OPEN", "last_update": 1586941186000 }, { "number": 24, "contract_name": "amiens", "name": "24- COLISEUM", "address": "Boulevard Faidherbe", "position": { "lat": 49.89413492763881, "lng": 2.287054048660281 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 11, "available_bikes": 9, "status": "OPEN", "last_update": 1586941064000 }, { "number": 25, "contract_name": "amiens", "name": "25- LA HOTOIE", "address": "Bd des Fédérés", "position": { "lat": 49.896862536806346, "lng": 2.282867747579433 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 9, "available_bikes": 11, "status": "OPEN", "last_update": 1586940925000 }, { "number": 8, "contract_name": "amiens", "name": "08- VANMARCKE", "address": "Rue Edouard David", "position": { "lat": 49.896851505866685, "lng": 2.301575828797199 }, "banking": true, "bonus": false, "bike_stands": 13, "available_bike_stands": 6, "available_bikes": 7, "status": "OPEN", "last_update": 1586940912000 }, { "number": 9, "contract_name": "amiens", "name": "09- CATHEDRALE", "address": "Rue Flatters", "position": { "lat": 49.89508211905397, "lng": 2.299395003901743 }, "banking": true, "bonus": false, "bike_stands": 17, "available_bike_stands": 8, "available_bikes": 9, "status": "OPEN", "last_update": 1586941378000 }, { "number": 3, "contract_name": "amiens", "name": "03- VOGEL", "address": "Bd du jardin des plantes", "position": { "lat": 49.898124385191046, "lng": 2.295195128091815 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 12, "available_bikes": 8, "status": "OPEN", "last_update": 1586940960000 }, { "number": 26, "contract_name": "amiens", "name": "26- MARCHE AUX CHEVAUX", "address": "Rue du Marché aux Chevaux", "position": { "lat": 49.897251288573926, "lng": 2.289247027835661 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 9, "available_bikes": 11, "status": "OPEN", "last_update": 1586941348000 }, { "number": 16, "contract_name": "amiens", "name": "16- JOFFRE", "address": "Place du Maréchal Joffre", "position": { "lat": 49.88779293086959, "lng": 2.30361108882717 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 13, "available_bikes": 7, "status": "OPEN", "last_update": 1586941170000 }, { "number": 15, "contract_name": "amiens", "name": "15- JACOBINS", "address": "Rue des Jacobins", "position": { "lat": 49.8909435451942, "lng": 2.300843419403305 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 13, "available_bikes": 7, "status": "OPEN", "last_update": 1586941111000 }, { "number": 14, "contract_name": "amiens", "name": "14- GARE CINEMA", "address": "Passage Alphonse Fiquet", "position": { "lat": 49.89028092622952, "lng": 2.307375584272146 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 9, "available_bikes": 11, "status": "OPEN", "last_update": 1586941009000 }, { "number": 19, "contract_name": "amiens", "name": "19- REPUBLIQUE", "address": "République Gambetta", "position": { "lat": 49.892720073260215, "lng": 2.297075819641891 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 8, "available_bikes": 12, "status": "OPEN", "last_update": 1586941239000 }, { "number": 12, "contract_name": "amiens", "name": "12- AMIENS 2", "address": "Bd Alsace Lorraine", "position": { "lat": 49.89223828665915, "lng": 2.30769408025555 }, "banking": true, "bonus": false, "bike_stands": 18, "available_bike_stands": 10, "available_bikes": 8, "status": "OPEN", "last_update": 1586941005000 }, { "number": 20, "contract_name": "amiens", "name": "20- BRANLY", "address": "Bd Maignan Larivière", "position": { "lat": 49.89001551426808, "lng": 2.291227264216073 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 12, "available_bikes": 8, "status": "OPEN", "last_update": 1586940982000 }, { "number": 22, "contract_name": "amiens", "name": "22- QUATRE CHENES", "address": "Avenue du Général Foy", "position": { "lat": 49.890242, "lng": 2.282163 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 11, "available_bikes": 9, "status": "OPEN", "last_update": 1586940914000 }, { "number": 23, "contract_name": "amiens", "name": "23- ST ROCH", "address": "Foch", "position": { "lat": 49.893442525890926, "lng": 2.284525283004338 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 11, "available_bikes": 9, "status": "OPEN", "last_update": 1586940913000 }, { "number": 11, "contract_name": "amiens", "name": "11- PORT D' AMONT", "address": "Bd Du Port D' Amont", "position": { "lat": 49.89557785209512, "lng": 2.306191079777315 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 10, "available_bikes": 10, "status": "OPEN", "last_update": 1586941248000 }, { "number": 1, "contract_name": "amiens", "name": "01 - SAINT PIERRE", "address": "Rue Eloi Morel angle bd baraban", "position": { "lat": 49.901646, "lng": 2.303244 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 13, "available_bikes": 7, "status": "OPEN", "last_update": 1586940910000 }, { "number": 13, "contract_name": "amiens", "name": "13- GARE JULES BARNI", "address": "Rue Jules Barni", "position": { "lat": 49.889774, "lng": 2.3091 }, "banking": true, "bonus": false, "bike_stands": 18, "available_bike_stands": 7, "available_bikes": 11, "status": "OPEN", "last_update": 1586941230000 }, { "number": 7, "contract_name": "amiens", "name": "07- COLLEGE SAINT-MARTIN", "address": "68 rue Delpech à proximité du Collège St Martin", "position": { "lat": 49.8842726, "lng": 2.294836 }, "banking": true, "bonus": false, "bike_stands": 15, "available_bike_stands": 8, "available_bikes": 7, "status": "OPEN", "last_update": 1586941257000 }, { "number": 21, "contract_name": "amiens", "name": "21- MAISON DE LA CULTURE", "address": "Place Léon Gontier", "position": { "lat": 49.89392165574068, "lng": 2.292724729098195 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 9, "available_bikes": 11, "status": "OPEN", "last_update": 1586940846000 }, { "number": 17, "contract_name": "amiens", "name": "17- CIRQUE", "address": "Mail Albert 1er", "position": { "lat": 49.8887, "lng": 2.2973 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 11, "available_bikes": 8, "status": "OPEN", "last_update": 1586941259000 }, { "number": 27, "contract_name": "amiens", "name": "27- CITÉ SCOLAIRE", "address": "", "position": { "lat": 49.879239, "lng": 2.296116 }, "banking": false, "bonus": false, "bike_stands": 40, "available_bike_stands": 25, "available_bikes": 15, "status": "OPEN", "last_update": 1586940824000 }, { "number": 5, "contract_name": "amiens", "name": "05- ST LEU", "address": "66 Rue St Leu", "position": { "lat": 49.8990979, "lng": 2.3005394 }, "banking": true, "bonus": false, "bike_stands": 20, "available_bike_stands": 12, "available_bikes": 8, "status": "OPEN", "last_update": 1586941076000 }, { "number": 6, "contract_name": "amiens", "name": "06- CITADELLE MONTRESCU", "address": "Avenue du général du Gaulle", "position": { "lat": 49.904325, "lng": 2.30082 }, "banking": true, "bonus": false, "bike_stands": 50, "available_bike_stands": 42, "available_bikes": 8, "status": "OPEN", "last_update": 1586940966000 }];
this.layer = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(this.map);
this.iconBleue = L.icon({
iconUrl: 'img/marker_bleu.png',
iconSize: [38, 38],
});
this.iconRouge = L.icon({
iconUrl: '../img/marker_rouge.png',
iconSize: [38, 38],
});
this.check();
}
//Ajouter Markers
addMarkers() {
this.stations.forEach((data) => {
L.marker(Object.values(data.position), {
"data": data, // on garde ici les données intéressantes
icon: this.iconBleue
})
.addTo(this.map)
.on("click", this.clickEvent.bind(this, data));
});
}
clickEvent(data) {
const formulaire = new Formulaire(new Station(data));
formulaire.showForm();
formulaire.statusOfReservation();
// formulaire.checkForm();
Dom.cancelElement.style.display = "none";
Dom.reserveElement.style.display = "flex";
Dom.textChronoAnnulerElement.style.display = 'none';
//Si la station est OPEN, marker couleur bleue. Sinon, couleur rouge
if (data.status === "OPEN" && data.available_bikes > 0) {
L.marker({ icon: this.iconBleue })
} else {
L.marker({ icon: this.iconRouge })
}
}
check() {
if (Storage.hasStationInfo()) {
console.log('Les données existent');
const data = Storage.getStation();
this.clickEvent(data);
console.log("Station: ", data);
}
}
};
const myMap = new Map();
myMap.addMarkers(); |
Partager