Zoom levels for clusters
This commit is contained in:
parent
4ea00e9555
commit
1a0c5c1766
@ -120,9 +120,13 @@ a:visited {
|
|||||||
.modal {
|
.modal {
|
||||||
z-index: 1000;
|
z-index: 1000;
|
||||||
}
|
}
|
||||||
.modal-content {
|
.modal-content,
|
||||||
|
.modal-card {
|
||||||
width: 60vw;
|
width: 60vw;
|
||||||
}
|
}
|
||||||
|
.modal-card {
|
||||||
|
min-height: 95vh;
|
||||||
|
}
|
||||||
.has-bottom-border {
|
.has-bottom-border {
|
||||||
border-bottom: 1px #aaa solid;
|
border-bottom: 1px #aaa solid;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ import { Controller } from "@hotwired/stimulus"
|
|||||||
|
|
||||||
export default class extends Controller {
|
export default class extends Controller {
|
||||||
static targets = ['coords'];
|
static targets = ['coords'];
|
||||||
END_ZOOM = 20;
|
END_ZOOM = 19;
|
||||||
mapAnimate = {
|
mapAnimate = {
|
||||||
animate: true,
|
animate: true,
|
||||||
duration: 1,
|
duration: 1,
|
||||||
|
@ -3,6 +3,24 @@ import { Controller } from "@hotwired/stimulus"
|
|||||||
export default class extends Controller {
|
export default class extends Controller {
|
||||||
static targets = ['close', 'modal'];
|
static targets = ['close', 'modal'];
|
||||||
|
|
||||||
|
current(id) {
|
||||||
|
return this.modalTargets.find(m => m.getAttribute('data-id') === id);
|
||||||
|
}
|
||||||
|
|
||||||
|
homeOpen(event) {
|
||||||
|
const id = event.currentTarget.getAttribute('data-id');
|
||||||
|
const current = this.current(id);
|
||||||
|
|
||||||
|
current.classList.add('is-active');
|
||||||
|
}
|
||||||
|
|
||||||
|
homeClose(event) {
|
||||||
|
const id = event.currentTarget.getAttribute('data-id');
|
||||||
|
const current = this.current(id);
|
||||||
|
|
||||||
|
current.classList.remove('is-active');
|
||||||
|
}
|
||||||
|
|
||||||
open() {
|
open() {
|
||||||
this.modalTarget.classList.add('is-active');
|
this.modalTarget.classList.add('is-active');
|
||||||
}
|
}
|
||||||
|
@ -100,7 +100,7 @@ function capitalize(text) {
|
|||||||
/**
|
/**
|
||||||
* @param {string} mapId
|
* @param {string} mapId
|
||||||
* @param {number} zoomLevel
|
* @param {number} zoomLevel
|
||||||
* @returns {{map: Map, sites: Layer}}
|
* @returns {Map}
|
||||||
*/
|
*/
|
||||||
GIS.initMap = async function (mapId, zoomLevel = this.INIT_ZOOM) {
|
GIS.initMap = async function (mapId, zoomLevel = this.INIT_ZOOM) {
|
||||||
L.LayerGroup.include({
|
L.LayerGroup.include({
|
||||||
@ -115,7 +115,7 @@ GIS.initMap = async function (mapId, zoomLevel = this.INIT_ZOOM) {
|
|||||||
|
|
||||||
let map = L.map(mapId, {
|
let map = L.map(mapId, {
|
||||||
//attributionControl: false,
|
//attributionControl: false,
|
||||||
minZoom: 2,
|
minZoom: 11,
|
||||||
}).setView(this.CENTER_COORDS, zoomLevel);
|
}).setView(this.CENTER_COORDS, zoomLevel);
|
||||||
|
|
||||||
map.crs = L.CRS.EPSG4326;
|
map.crs = L.CRS.EPSG4326;
|
||||||
@ -146,16 +146,12 @@ GIS.initMap = async function (mapId, zoomLevel = this.INIT_ZOOM) {
|
|||||||
notConservedGroup.addTo(map);
|
notConservedGroup.addTo(map);
|
||||||
findingsGroup.addTo(map);
|
findingsGroup.addTo(map);
|
||||||
|
|
||||||
L.control.layers(
|
L.control.layers(baseMap, archeo).addTo(map);
|
||||||
baseMap,
|
|
||||||
archeo,
|
|
||||||
).addTo(map);
|
|
||||||
|
|
||||||
// TEMP!! Remove point for Lo Pozzo...
|
// TEMP!! Remove point for Lo Pozzo...
|
||||||
map.removeLayer(sitesGroup.customGetLayer('lopozzo'));
|
map.removeLayer(sitesGroup.customGetLayer('lopozzo'));
|
||||||
|
|
||||||
// TODO Horrible?
|
return map;
|
||||||
return {map: map, sites: sitesGroup};
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Create markers for sites
|
* Create markers for sites
|
||||||
@ -164,7 +160,8 @@ GIS.initMap = async function (mapId, zoomLevel = this.INIT_ZOOM) {
|
|||||||
*/
|
*/
|
||||||
GIS.sitesMarkers = async function (sitesGroup) {
|
GIS.sitesMarkers = async function (sitesGroup) {
|
||||||
let sitesMarkers = L.markerClusterGroup({
|
let sitesMarkers = L.markerClusterGroup({
|
||||||
showCoverageOnHover: false
|
showCoverageOnHover: false,
|
||||||
|
disableClusteringAtZoom: 19,
|
||||||
});
|
});
|
||||||
|
|
||||||
for (let id in MARKER_NAMES.sites) {
|
for (let id in MARKER_NAMES.sites) {
|
||||||
@ -207,7 +204,8 @@ GIS.notConserved = async function () {
|
|||||||
.then(data => data.json());
|
.then(data => data.json());
|
||||||
|
|
||||||
let notConserved = L.markerClusterGroup({
|
let notConserved = L.markerClusterGroup({
|
||||||
showCoverageOnHover: false
|
showCoverageOnHover: false,
|
||||||
|
disableClusteringAtZoom: 19,
|
||||||
});
|
});
|
||||||
|
|
||||||
for (let record of notConserData.records) {
|
for (let record of notConserData.records) {
|
||||||
@ -233,7 +231,8 @@ GIS.findings = async function () {
|
|||||||
.then(data => data.json());
|
.then(data => data.json());
|
||||||
|
|
||||||
let findings = L.markerClusterGroup({
|
let findings = L.markerClusterGroup({
|
||||||
showCoverageOnHover: false
|
showCoverageOnHover: false,
|
||||||
|
disableClusteringAtZoom: 19,
|
||||||
});
|
});
|
||||||
|
|
||||||
for (let record of findingsData) {
|
for (let record of findingsData) {
|
||||||
|
@ -12,9 +12,8 @@ document.addEventListener('DOMContentLoaded', async () => {
|
|||||||
initStimulus();
|
initStimulus();
|
||||||
|
|
||||||
let progress = document.querySelector('progress');
|
let progress = document.querySelector('progress');
|
||||||
const init = await GIS.initMap('map');
|
const map = await GIS.initMap('map');
|
||||||
progress.classList.add('is-hidden');
|
progress.classList.add('is-hidden');
|
||||||
let {map, sites} = init;
|
|
||||||
|
|
||||||
map._container.setAttribute('aria-busy', false);
|
map._container.setAttribute('aria-busy', false);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user