{% extends "gis/openlayers.html" %} {% load l10n %} {% block base_layer %} var base_layer;{% endblock %} {% block options %}{{ block.super }} options['default_lon'] = {{ default_lon|unlocalize }}; options['default_lat'] = {{ default_lat|unlocalize }}; options['default_zoom'] = {{ default_zoom|unlocalize }}; var map_layers_edit = [ new ol.layer.Group({ title: base_maps_msg, visible: true, layers: get_layers() }) ]; options["layers"] = map_layers_edit; delete options.base_layer; var map_controls = ol.control.defaults().extend([ new ol.control.FullScreen(), new ol.control.ScaleLine() ]); if (location.protocol == 'https:'){ map_controls.push( new TrackPositionControl({map_id: options['map_id']}) ); } options["controls"] = map_controls; {% endblock %} {% block post_module %} var layer_switcher = new ol.control.LayerSwitcher({ tipLabel: 'Légende', groupSelectStyle: 'children' }); {{ module }}.map.addControl(layer_switcher); {% comment %}$(".ol-viewport").parent().width($(".form").width());{% endcomment %} let ol_viewport = document.querySelector(".ol-viewport"); if (ol_viewport.parent) ol_viewport.parent().width(document.querySelector(".form").width()); {% comment %}$(document).ready(function() { {% endcomment %} document.addEventListener("DOMContentLoaded", function() { {{ module }}.map.updateSize(); let features = {{ module }}.featureOverlay.getSource().getFeatures(); if (features.length){ let layer_extent = features[0].getGeometry().getExtent().slice(0); features.forEach(function(feature){ ol.extent.extend(layer_extent, feature.getGeometry().getExtent())}); {{ module }}.map.getView().fit(layer_extent, {{ module }}.map.getSize()); } let current_zoom = {{ module }}.map.getView().getZoom(); if ({{ module }}.map.getView().getZoom() > 18) {{ module }}.map.getView().setZoom(18); current_module = {{ module }} ; }); {% endblock %}