0d1f38cf85
* Refactor all JS API calls #360 * Remove unused imports * Lint JS * Fix doubled api key * Formatting * Added extra logging to distance lookup * Remove the .editorconfig file in distrib * shell check fixes * Remove the .editorconfig file in distrib
45 lines
917 B
JavaScript
45 lines
917 B
JavaScript
|
|
import draw_base_map from './base_map';
|
|
import { addWMSLayer } from './helpers';
|
|
|
|
const leaflet = require('leaflet');
|
|
|
|
/**
|
|
* Render a map with the airspace, etc around a given set of coords
|
|
* e.g, the airport map
|
|
* @param {Object} _opts
|
|
*/
|
|
export default (_opts) => {
|
|
const opts = Object.assign({
|
|
render_elem: 'map',
|
|
overlay_elem: '',
|
|
lat: 0,
|
|
lon: 0,
|
|
zoom: 12,
|
|
layers: [],
|
|
set_marker: true,
|
|
marker_popup: '',
|
|
|
|
// Passed from the config/maps.php file
|
|
metar_wms: {
|
|
url: '',
|
|
params: {},
|
|
},
|
|
}, _opts);
|
|
|
|
const map = draw_base_map(opts);
|
|
const coords = [opts.lat, opts.lon];
|
|
console.log('Applying coords', coords);
|
|
|
|
map.setView(coords, opts.zoom);
|
|
if (opts.set_marker === true) {
|
|
leaflet.marker(coords).addTo(map).bindPopup(opts.marker_popup);
|
|
}
|
|
|
|
if (opts.metar_wms.url !== '') {
|
|
addWMSLayer(map, opts.metar_wms);
|
|
}
|
|
|
|
return map;
|
|
};
|