phpvms/resources/js/maps/airspace_map.js

45 lines
900 B
JavaScript
Raw Normal View History

const leaflet = require('leaflet');
2018-03-14 22:07:41 +08:00
import draw_base_map from './base_map'
import { addWMSLayer } from './helpers';
/**
* Render a map with the airspace, etc around a given set of coords
* e.g, the airport map
* @param opts
*/
export default (opts) => {
opts = Object.assign({
2018-03-14 22:07:41 +08:00
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);
let map = draw_base_map(opts);
const coords = [opts.lat, opts.lon];
console.log('Applying coords', coords);
map.setView(coords, opts.zoom);
2018-03-14 22:07:41 +08:00
if (opts.set_marker === true) {
leaflet.marker(coords).addTo(map).bindPopup(opts.marker_popup);
}
if(opts.metar_wms.url !== '') {
addWMSLayer(map, opts.metar_wms);
2018-03-14 22:07:41 +08:00
}
return map;
};