add icons

This commit is contained in:
Tykayn 2024-12-16 12:13:19 +01:00 committed by tykayn
parent b01ad5507e
commit 614fd9b6ac
9 changed files with 193 additions and 38 deletions

View file

@ -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+='<div class="sockets-list" >'
let type2 = feature.properties.tags['socket:type2']
let type2_combo = feature.properties.tags['socket:type2_combo']
if(type2){
popupContent+=' <img class="icon-img" src="img/socket_type2.svg" alt="prise de type 2">'
if(type2!=='yes'){
popupContent+= '<span class="socket-counter">x '+type2+'</span>'
}
}
if(feature.properties.tags['socket:type2_combo']){
popupContent+=' <img class="icon-img" src="img/type2_combo.svg" alt="prise de type 2 combo CCS">'
if(type2_combo!=='yes'){
popupContent+= '<span class="socket-counter">x '+type2_combo+'</span>'
}
}
popupContent+='</div>'
popupContent+='<div class="key-values" >'
// 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 + '</dl>'
popupContent += '</div>'
layer.bindPopup(popupContent)
let outPowerGuessed = guessOutputPowerFromFeature(feature)
@ -409,8 +432,7 @@ function displayPointsFromApi (points) {
displayOutPowerGuessed = outPowerGuessed + ' kW max'
}
if (!popupContent) {
popupContent = `<span class="no-data"> Aucune information renseignée,
popupContent = `<span class="no-data"> Aucune information renseignée,
<a class="edit-button" href="https://www.openstreetmap.org/edit?editor=remote&node=${feature.properties.id}">ajoutez la dans OpenStreetMap!</a></span>`
}
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()
})