demarches-normaliennes/app/javascript/new_design/carto.js

43 lines
1 KiB
JavaScript
Raw Normal View History

import L from 'leaflet';
2018-10-09 11:35:22 +02:00
import { getJSON } from '@utils';
import { getData } from '../shared/data';
2018-10-03 10:39:35 +02:00
import { DEFAULT_POSITION } from '../shared/carto';
import {
drawCadastre,
drawQuartiersPrioritaires,
drawUserSelection
} from './carto/draw';
function initialize() {
2018-10-09 11:35:22 +02:00
if (document.getElementById('map')) {
getJSON(getData('carto').getPositionUrl).then(
position => initializeWithPosition(position),
() => initializeWithPosition(DEFAULT_POSITION)
);
}
}
addEventListener('turbolinks:load', initialize);
function initializeWithPosition(position) {
const map = L.map('map', {
scrollWheelZoom: false
}).setView([position.lat, position.lon], position.zoom);
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution:
'&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
const data = getData('carto');
// draw external polygons
drawCadastre(map, data);
drawQuartiersPrioritaires(map, data);
// draw user polygon
drawUserSelection(map, data);
}