mirror of
https://forge.chapril.org/tykayn/osm-commerces
synced 2025-06-20 01:44:42 +02:00
local lib chartjs
This commit is contained in:
parent
0bf30717a4
commit
a17fd9c232
2 changed files with 47 additions and 9 deletions
|
@ -105,12 +105,20 @@
|
|||
|
||||
<script src='{{ asset('js/maplibre/maplibre-gl.js') }}'></script>
|
||||
<script src='{{ asset('js/turf/turf.min.js') }}'></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
||||
<script src="{{ asset('js/chartjs/chart.umd.js') }}"></script>
|
||||
<script>
|
||||
const request = `{{query_places|raw}}`;
|
||||
const zip_code = `{{stats.zone}}`;
|
||||
let mapElements = [];
|
||||
let map_is_loaded=false;
|
||||
|
||||
const map = new maplibregl.Map({
|
||||
container: 'map',
|
||||
style: 'https://api.maptiler.com/maps/streets-v2/style.json?key={{ maptiler_token }}',
|
||||
center: [2.3488, 48.8534],
|
||||
zoom: 12
|
||||
});
|
||||
|
||||
function getCompletionColor(completion) {
|
||||
if (completion === undefined || completion === null) {
|
||||
return '#808080'; // Gris pour pas d'information
|
||||
|
@ -231,7 +239,6 @@
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
async function fetchland() {
|
||||
// Requête pour obtenir le contour administratif
|
||||
const boundaryQuery = `[out:json][timeout:25];
|
||||
|
@ -252,14 +259,11 @@ out skel qt;`;
|
|||
const response = await fetch(overpassUrl);
|
||||
const data = await response.json();
|
||||
|
||||
const map = new maplibregl.Map({
|
||||
container: 'map',
|
||||
style: 'https://api.maptiler.com/maps/streets-v2/style.json?key={{ maptiler_token }}',
|
||||
center: [2.3488, 48.8534],
|
||||
zoom: 12
|
||||
});
|
||||
|
||||
|
||||
map.on('load', () => {
|
||||
|
||||
map_is_loaded=true;
|
||||
console.log('map load...');
|
||||
// Ajouter le contour administratif
|
||||
if (boundaryData.elements && boundaryData.elements.length > 0) {
|
||||
|
@ -430,6 +434,11 @@ out skel qt;`;
|
|||
return;
|
||||
}
|
||||
|
||||
if (!map_is_loaded) {
|
||||
alert('La carte n\'est pas encore chargée, veuillez patienter');
|
||||
return;
|
||||
}
|
||||
|
||||
const nodeIds = [];
|
||||
const wayIds = [];
|
||||
const relationIds = [];
|
||||
|
@ -448,6 +457,18 @@ out skel qt;`;
|
|||
}
|
||||
});
|
||||
|
||||
// Obtenir les coordonnées du viewport actuel
|
||||
const center = map.getCenter();
|
||||
const zoom = map.getZoom();
|
||||
const width = map.getCanvas().width;
|
||||
const height = map.getCanvas().height;
|
||||
|
||||
// Calculer les limites en utilisant les coordonnées du centre et le zoom
|
||||
const west = center.lng - (360 / Math.pow(2, zoom + 1)) * (width / 256);
|
||||
const east = center.lng + (360 / Math.pow(2, zoom + 1)) * (width / 256);
|
||||
const north = center.lat + (180 / Math.pow(2, zoom + 1)) * (height / 256);
|
||||
const south = center.lat - (180 / Math.pow(2, zoom + 1)) * (height / 256);
|
||||
|
||||
let josmUrl = 'http://localhost:8111/load_and_zoom?';
|
||||
const params = [];
|
||||
|
||||
|
@ -461,8 +482,11 @@ out skel qt;`;
|
|||
params.push(`relation${relationIds.join(',')}`);
|
||||
}
|
||||
|
||||
// Ajouter la bounding box calculée
|
||||
params.push(`left=${west}&right=${east}&top=${north}&bottom=${south}`);
|
||||
|
||||
josmUrl += params.join('&');
|
||||
window.open(josmUrl, '_blank');
|
||||
window.open(josmUrl);
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue