filtre okay
This commit is contained in:
parent
728d52db56
commit
9a85917e22
@ -33,6 +33,7 @@ const metadata = {
|
|||||||
<CheckBox
|
<CheckBox
|
||||||
label="Bar, Pub, Café,..."
|
label="Bar, Pub, Café,..."
|
||||||
name="drink"
|
name="drink"
|
||||||
|
checked
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
@ -81,7 +82,7 @@ const metadata = {
|
|||||||
// move zoom ctl to bottom
|
// move zoom ctl to bottom
|
||||||
L.control.zoom({
|
L.control.zoom({
|
||||||
position: 'bottomleft'
|
position: 'bottomleft'
|
||||||
}).addTo(map);
|
}).addTo(map)
|
||||||
|
|
||||||
const provider = new OpenStreetMapProvider()
|
const provider = new OpenStreetMapProvider()
|
||||||
|
|
||||||
@ -95,27 +96,29 @@ const metadata = {
|
|||||||
)
|
)
|
||||||
|
|
||||||
let poiMarkers = new Array<L.Marker>
|
let poiMarkers = new Array<L.Marker>
|
||||||
let minimalNote = "1";
|
let minimalNote = "1"
|
||||||
|
let drink = true
|
||||||
|
let otm = true
|
||||||
|
|
||||||
// run api search
|
// run api search
|
||||||
function searchBox(){
|
function searchBox(){
|
||||||
const nordWest = map.getBounds().getNorthWest()
|
const nordWest = map.getBounds().getNorthWest()
|
||||||
const southEast = map.getBounds().getSouthEast()
|
const southEast = map.getBounds().getSouthEast()
|
||||||
const params: URLSearchParams = new URLSearchParams();
|
const params: URLSearchParams = new URLSearchParams()
|
||||||
|
|
||||||
params.append("lon1", nordWest.lng.toString())
|
params.append("lon1", nordWest.lng.toString())
|
||||||
params.append("lat1", nordWest.lat.toString())
|
params.append("lat1", nordWest.lat.toString())
|
||||||
params.append("lon2", southEast.lng.toString())
|
params.append("lon2", southEast.lng.toString())
|
||||||
params.append("lat2", southEast.lat.toString())
|
params.append("lat2", southEast.lat.toString())
|
||||||
params.append("rate", minimalNote);
|
params.append("rate", minimalNote)
|
||||||
|
|
||||||
console.log(params);
|
|
||||||
|
|
||||||
|
if(drink && otm){
|
||||||
fetch(`${BACK_URL}otm/box?${params.toString()}`,{method: 'GET',headers: {'Content-Type': 'application/json'}}).then(function (response) {
|
fetch(`${BACK_URL}otm/box?${params.toString()}`,{method: 'GET',headers: {'Content-Type': 'application/json'}}).then(function (response) {
|
||||||
return response.json();
|
return response.json()
|
||||||
}).then(function (data) {
|
}).then(function (data) {
|
||||||
poiMarkers.forEach(element => {
|
poiMarkers.forEach(element => {
|
||||||
element.remove();
|
element.remove()
|
||||||
});
|
})
|
||||||
console.log(data)
|
console.log(data)
|
||||||
data.features.forEach(element => {
|
data.features.forEach(element => {
|
||||||
const prop = element.properties
|
const prop = element.properties
|
||||||
@ -123,15 +126,16 @@ const metadata = {
|
|||||||
let tags = new String()
|
let tags = new String()
|
||||||
prop.kinds.split(",").forEach(element => {
|
prop.kinds.split(",").forEach(element => {
|
||||||
tags += "- " + element + "<br/>"
|
tags += "- " + element + "<br/>"
|
||||||
});
|
})
|
||||||
const poiMarker = L.marker([element.geometry.coordinates[1],element.geometry.coordinates[0]],icon)
|
const poiMarker = L.marker([element.geometry.coordinates[1],element.geometry.coordinates[0]],icon)
|
||||||
.bindPopup(`<b>${prop.name}</b><br/>note : ${prop.rate} <br/>tags:<br/> ${tags}`)
|
.bindPopup(`<b>${prop.name}</b><br/>note : ${prop.rate} <br/>tags:<br/> ${tags}`)
|
||||||
poiMarker.addTo(map)
|
poiMarker.addTo(map)
|
||||||
poiMarkers.push(poiMarker);
|
poiMarkers.push(poiMarker)
|
||||||
});
|
})
|
||||||
}).catch(function (err) {
|
}).catch(function (err) {
|
||||||
console.warn('Something went wrong.', err);
|
console.warn('Something went wrong.', err)
|
||||||
});
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// fonciton pour lancer la recherche de box sur l'api
|
// fonciton pour lancer la recherche de box sur l'api
|
||||||
@ -139,36 +143,49 @@ const metadata = {
|
|||||||
if(map.getZoom() >= 13){
|
if(map.getZoom() >= 13){
|
||||||
console.log("zoom OKAY")
|
console.log("zoom OKAY")
|
||||||
//TODO: mettre un message de recherche en cour
|
//TODO: mettre un message de recherche en cour
|
||||||
searchBox();
|
searchBox()
|
||||||
}else{
|
}else{
|
||||||
console.log("zoom more to see result");
|
console.log("zoom more to see result")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// envent pour lancer la recherche
|
// envent pour lancer la recherche
|
||||||
const cooldown = 1000;
|
const cooldown = 1000
|
||||||
sender()
|
sender()
|
||||||
let timeoutHandle = window.setTimeout(sender, cooldown)
|
let timeoutHandle = window.setTimeout(sender, cooldown)
|
||||||
|
|
||||||
window.clearTimeout(timeoutHandle);
|
window.clearTimeout(timeoutHandle)
|
||||||
|
|
||||||
map.addEventListener("move",() =>{
|
map.addEventListener("move",() =>{
|
||||||
window.clearTimeout(timeoutHandle);
|
window.clearTimeout(timeoutHandle)
|
||||||
timeoutHandle = window.setTimeout(sender, cooldown);
|
timeoutHandle = window.setTimeout(sender, cooldown)
|
||||||
})
|
})
|
||||||
|
|
||||||
map.addEventListener("zoom", () => {
|
map.addEventListener("zoom", () => {
|
||||||
if(map.getZoom() <= 11){
|
if(map.getZoom() <= 11){
|
||||||
poiMarkers.forEach(element => {
|
poiMarkers.forEach(element => {
|
||||||
element.remove()
|
element.remove()
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
document.querySelectorAll("input").forEach(e =>{
|
document.querySelectorAll<HTMLInputElement>("input[type='checkbox']").forEach(e =>{
|
||||||
e.addEventListener("click", () => {
|
e.addEventListener("click", () => {
|
||||||
console.log("checked : ", e.checked)
|
switch (e.name) {
|
||||||
console.log("val ", e.value)
|
case "drink":
|
||||||
console.log("name: ", e.name)
|
drink = e.checked
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "otm":
|
||||||
|
otm = e.checked
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
poiMarkers.forEach(element => {
|
||||||
|
element.remove()
|
||||||
|
})
|
||||||
|
searchBox()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -176,5 +193,6 @@ const metadata = {
|
|||||||
e.addEventListener("click", () => {
|
e.addEventListener("click", () => {
|
||||||
minimalNote = e.value
|
minimalNote = e.value
|
||||||
})
|
})
|
||||||
|
searchBox()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user