mirror of
https://forge.chapril.org/tykayn/libre-charge-map
synced 2025-06-20 01:34:43 +02:00
add icons
This commit is contained in:
parent
b01ad5507e
commit
614fd9b6ac
9 changed files with 193 additions and 38 deletions
86
js/main.js
86
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+='<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()
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue