63 lines
1.5 KiB
JavaScript
63 lines
1.5 KiB
JavaScript
//
|
|
|
|
const leaflet = require('leaflet');
|
|
require('leaflet-providers');
|
|
|
|
export default (opts) => {
|
|
|
|
opts = Object.assign({
|
|
render_elem: 'map',
|
|
center: [29.98139, -95.33374],
|
|
zoom: 5,
|
|
maxZoom: 10,
|
|
layers: [],
|
|
set_marker: false,
|
|
providers: [
|
|
'Esri.WorldStreetMap',
|
|
],
|
|
tile_layers: [],
|
|
}, opts);
|
|
|
|
/*
|
|
let feature_groups = [];
|
|
const openaip_airspace_labels = new leaflet.TileLayer.WMS(
|
|
"http://{s}.tile.maps.openaip.net/geowebcache/service/wms", {
|
|
maxZoom: 14,
|
|
minZoom: 12,
|
|
layers: 'openaip_approved_airspaces_labels',
|
|
tileSize: 1024,
|
|
detectRetina: true,
|
|
subdomains: '12',
|
|
format: 'image/png',
|
|
transparent: true
|
|
});
|
|
|
|
openaip_airspace_labels.addTo(map);*/
|
|
|
|
/*const openaip_cached_basemap = new leaflet.TileLayer("http://{s}.tile.maps.openaip.net/geowebcache/service/tms/1.0.0/openaip_basemap@EPSG%3A900913@png/{z}/{x}/{y}.png", {
|
|
maxZoom: 14,
|
|
minZoom: 4,
|
|
tms: true,
|
|
detectRetina: true,
|
|
subdomains: '12',
|
|
format: 'image/png',
|
|
transparent: true
|
|
});
|
|
|
|
feature_groups.push(openaip_cached_basemap);
|
|
*/
|
|
|
|
let map = leaflet.map('map', {
|
|
//layers: [openaip_basemap_phys_osm],
|
|
center: opts.center,
|
|
zoom: opts.zoom,
|
|
scrollWheelZoom: false,
|
|
});
|
|
|
|
for(const i in opts.providers) {
|
|
leaflet.tileLayer.provider(opts.providers[i]).addTo(map);
|
|
}
|
|
|
|
return map;
|
|
};
|