1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- (function (w, d, searx) {
- 'use strict';
- searx.ready(function () {
- searx.on('.searx_init_map', 'click', function(event) {
-
- this.classList.remove("searx_init_map");
-
- var leaflet_target = this.dataset.leafletTarget;
- var map_lon = parseFloat(this.dataset.mapLon);
- var map_lat = parseFloat(this.dataset.mapLat);
- var map_zoom = parseFloat(this.dataset.mapZoom);
- var map_boundingbox = JSON.parse(this.dataset.mapBoundingbox);
- var map_geojson = JSON.parse(this.dataset.mapGeojson);
- searx.loadStyle('leaflet/leaflet.css');
- searx.loadScript('leaflet/leaflet.js', function() {
- var map_bounds = null;
- if(map_boundingbox) {
- var southWest = L.latLng(map_boundingbox[0], map_boundingbox[2]);
- var northEast = L.latLng(map_boundingbox[1], map_boundingbox[3]);
- map_bounds = L.latLngBounds(southWest, northEast);
- }
-
- var map = L.map(leaflet_target);
-
- var osmMapnikUrl='https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
- var osmMapnikAttrib='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';
- var osmMapnik = new L.TileLayer(osmMapnikUrl, {minZoom: 1, maxZoom: 19, attribution: osmMapnikAttrib});
- var osmWikimediaUrl='https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png';
- var osmWikimediaAttrib = 'Wikimedia maps beta | Maps data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';
- var osmWikimedia = new L.TileLayer(osmWikimediaUrl, {minZoom: 1, maxZoom: 19, attribution: osmWikimediaAttrib});
-
- if(map_bounds) {
-
-
- setTimeout(function () {
- map.fitBounds(map_bounds, {
- maxZoom:17
- });
- }, 0);
- } else if (map_lon && map_lat) {
- if(map_zoom) {
- map.setView(new L.latLng(map_lat, map_lon),map_zoom);
- } else {
- map.setView(new L.latLng(map_lat, map_lon),8);
- }
- }
- map.addLayer(osmMapnik);
- var baseLayers = {
- "OSM Mapnik": osmMapnik
- };
- L.control.layers(baseLayers).addTo(map);
- if(map_geojson) {
- L.geoJson(map_geojson).addTo(map);
- }
- });
-
- event.preventDefault();
- });
- });
- })(window, document, window.searx);
|