diff --git a/img/Type2_Connector_Outline.svg b/img/Type2_Connector_Outline.svg
new file mode 100644
index 0000000..cdf2eb9
--- /dev/null
+++ b/img/Type2_Connector_Outline.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/img/chademo.svg b/img/chademo.svg
new file mode 100644
index 0000000..537ddad
--- /dev/null
+++ b/img/chademo.svg
@@ -0,0 +1,40 @@
+
+
+
\ No newline at end of file
diff --git a/img/prise-de-courant.png b/img/prise-de-courant.png
new file mode 100644
index 0000000..814e5c5
Binary files /dev/null and b/img/prise-de-courant.png differ
diff --git a/img/prise_inconnue.svg b/img/prise_inconnue.svg
new file mode 100644
index 0000000..6341cf7
--- /dev/null
+++ b/img/prise_inconnue.svg
@@ -0,0 +1,19 @@
+
+
+
\ No newline at end of file
diff --git a/img/type2_combo.svg b/img/type2_combo.svg
new file mode 100644
index 0000000..3f38afc
--- /dev/null
+++ b/img/type2_combo.svg
@@ -0,0 +1,30 @@
+
+
\ No newline at end of file
diff --git a/index.html b/index.html
index e159f8b..992d5ff 100644
--- a/index.html
+++ b/index.html
@@ -63,14 +63,10 @@
- Carte des IRVE
+
Libre Charge Map
-
-
-
-
-
-
+
+
@@ -95,8 +91,26 @@
> 300 kW
-
-
+
+
Cartes des stations de recharge pour véhicules électriques basée sur les données collaborative OpenStreetMap
+
+
+
+
+
+
diff --git a/js/main.js b/js/main.js
index 9861b5d..e247927 100644
--- a/js/main.js
+++ b/js/main.js
@@ -135,7 +135,6 @@ const tags_to_display_in_popup = [
const margin_josm_bbox = 0.00001
function createJOSMEditLink (feature) {
- console.log('createJOSMEditLink feature', feature)
var coordinates = feature.geometry.coordinates
var nodeId = feature.properties.id
var left = coordinates[0] - margin_josm_bbox
@@ -186,12 +185,12 @@ function guessOutputPowerFromFeature (feature) {
}
if (tag.indexOf('chademo') !== -1) {
found_type_chademo = true
- console.log('tag chademo', tag)
+ // console.log('tag chademo', tag)
power = 63
}
let value = feature.properties.tags[tag]
if (value && tag.toLowerCase().indexOf('output') !== -1) {
- console.log('tag contient output', tag, value)
+ // console.log('tag contient output', tag, value)
value = '' + value
if (value.replace) {
value = value.replace(' ')
@@ -200,13 +199,13 @@ function guessOutputPowerFromFeature (feature) {
let power = parseInt(value)
// deviner les types de prises présents
- if (power) {
- console.log('power', power)
- console.log('outputPower', outputPower)
- }
+ // if (power) {
+ // console.log('power', power)
+ // console.log('outputPower', outputPower)
+ // }
if (power > outputPower) {
outputPower = power
- console.log('power', power)
+ // console.log('power', power)
}
}
}
@@ -215,15 +214,20 @@ function guessOutputPowerFromFeature (feature) {
return outputPower
}
+// 2024-12-16: au delà d'une valeur de 400kW on peut dire qu'il existe une erreur de saisie, nous n'avons pas de chargeur de 1800kW en production.
+const max_out_legit_power = 400
+const error_color = 'red'
function getColor (feature) {
let outputPower = guessOutputPowerFromFeature(feature)
feature.properties.tags.has_output_of_irve_specified = outputPower
if (outputPower) {
+ if(outputPower> max_out_legit_power){
+ return error_color;
+ }
let index = Math.min(Math.floor(outputPower / 10), colors.length - 1)
- console.log('outputPower', outputPower)
- // console.log('colors[index]', colors[index])
+
return colors[index]
}
// autrement, sans puissance max trouvée, on met la couleur des indéfinis
@@ -268,7 +272,7 @@ function displayStatsFromGeoJson (resultAsGeojson) {
// console.log('tagKey', tagKey)
if (tagKey.indexOf('type2_combo') !== -1) {
found_type2_combo = true
- console.log('tagkey trouvé combo', tagKey)
+ // console.log('tagkey trouvé combo', tagKey)
}
if (tagKey.indexOf('type2') !== -1) {
found_type2 = true
@@ -341,11 +345,11 @@ let geojsondata
function bindEventsOnJosmRemote () {
let josm_remote_buttons = $(`.josm`)
- console.log('josm_remote_buttons', josm_remote_buttons[0])
+ // console.log('josm_remote_buttons', josm_remote_buttons[0])
$(josm_remote_buttons[0]).on('click', () => {
- console.log('link', josm_remote_buttons[0])
+ // console.log('link', josm_remote_buttons[0])
let josm_link = $(josm_remote_buttons[0]).attr('data-href')
- console.log('lancer la télécommande josm', josm_link)
+ // console.log('lancer la télécommande josm', josm_link)
$.get(josm_link, (res) => {
console.log('res', res)
})
@@ -357,7 +361,7 @@ const ratio_circle = 0.9
function displayPointsFromApi (points) {
geojsondata = osmtogeojson(points)
- console.log('resultAsGeojson', geojsondata)
+ // console.log('resultAsGeojson', geojsondata)
displayStatsFromGeoJson(geojsondata)
let resultLayer = L.geoJson(geojsondata, {
@@ -380,13 +384,32 @@ function displayPointsFromApi (points) {
return true
},
onmoveend: function (event) {
- console.log('déplacement terminé')
+ // console.log('déplacement terminé')
},
onzoomend: function (event) {
- console.log('event', event)
+ // console.log('event', event)
},
onEachFeature: function (feature, layer) {
let popupContent = ''
+
+ popupContent+='
'
+ let type2 = feature.properties.tags['socket:type2']
+ let type2_combo = feature.properties.tags['socket:type2_combo']
+ if(type2){
+ popupContent+='

'
+ if(type2!=='yes'){
+ popupContent+= '
x '+type2+''
+ }
+ }
+ if(feature.properties.tags['socket:type2_combo']){
+
+ popupContent+='

'
+ if(type2_combo!=='yes'){
+ popupContent+= '
x '+type2_combo+''
+ }
+ }
+ popupContent+='
'
+ popupContent+='
'
// ne montrer que certains champs dans la popup
tags_to_display_in_popup.forEach(function (key) {
if (tags_to_display_in_popup.indexOf(key)) {
@@ -399,7 +422,7 @@ function displayPointsFromApi (points) {
}
}
})
- // popupContent = popupContent + ''
+ popupContent += '
'
layer.bindPopup(popupContent)
let outPowerGuessed = guessOutputPowerFromFeature(feature)
@@ -409,8 +432,7 @@ function displayPointsFromApi (points) {
displayOutPowerGuessed = outPowerGuessed + ' kW max'
}
if (!popupContent) {
- popupContent = `
Aucune information renseignée,
-
+ popupContent = ` Aucune information renseignée,
ajoutez la dans OpenStreetMap!`
}
let link_josm = createJOSMEditLink(feature)
@@ -449,7 +471,7 @@ function displayPointsFromApi (points) {
bindEventsOnJosmRemote()
},
mouseout: function () {
- setTimeout(() => this.closePopup(), 3000)
+ // setTimeout(() => this.closePopup(), 15000)
},
click: function () {
this.openPopup()
@@ -458,14 +480,12 @@ function displayPointsFromApi (points) {
},
})
- // link josm buttons to get request
-
}
function makeCssClassFromTags (tags) {
- console.log('tags', tags)
+ // console.log('tags', tags)
let tagKeys = Object.keys(tags)
- console.log('tagKeys', tagKeys)
+ // console.log('tagKeys', tagKeys)
if (!tags) {
return ''
}
@@ -490,10 +510,7 @@ function getIconFromTags (tags) {
// $('#toggleMinPower_50').on('click', toggleMinPower(50))
// $('#toggleMinPower_100').on('click', toggleMinPower(100))
// document.getElementById('toggleMinPower_300').addEventListener('click', toggleMinPower(showHighPower))
-$('#query-button').on('click', function () {
- supprimerMarqueurs(map)
- loadOverpassQuery()
-})
+
function toggleMinPower (showHighPower) {
console.log('toggle', showHighPower)
@@ -557,3 +574,14 @@ $(document).ready(function () {
bindEventsOnJosmRemote()
onMapMoveEnd()
})
+/*
+boutons de toggle
+ */
+
+// test
+$('#test').on('click', function () {
+ console.log('filteredMarkers', filteredMarkers)
+
+ supprimerMarqueurs(map)
+ // loadOverpassQuery()
+})
diff --git a/styles/images/layers.png b/styles/images/layers.png
new file mode 100644
index 0000000..d2a6a8c
Binary files /dev/null and b/styles/images/layers.png differ
diff --git a/styles/style.css b/styles/style.css
index 305ee33..51f78e9 100644
--- a/styles/style.css
+++ b/styles/style.css
@@ -179,6 +179,8 @@ a {
}
.popup-content {
+ width: 100%;
+ display: block;
overflow: auto;
min-width: 10rem;
max-width: 20rem;
@@ -296,3 +298,19 @@ button{
/*background: grey;*/
/*border-right: 1px solid white;*/
}
+
+.key-values{
+ max-height: 4rem;
+ overflow: auto;
+ width: 100%;
+ display: block;
+}
+
+.icon-img{
+ width: 3rem;
+ height: 3rem;
+ fill: #000;
+}
+.sockets-list{
+ margin-top: 1rem;
+}