/** * @module changeResolutionHandler */ /** Maximum zoom level to show pins * @constant {number} * @default 5 */ const CUTOFF = 5; /** Adds or removes pin vector layer depending on zoom level * @param {boolean} pinning - Boolean to toggle between new pin creation and viewing existing pins. If this is true, existing pins are not visible. * @param {ol.Map} map - OpenLayers map to center * @param {ol.layer.Vector} pinLayer - OpenLayers vector layer for pins */ const changeResolutionHandler = (pinning, map, pinLayer) => { map.getView().getZoom() < CUTOFF ? map.getLayers().removeAt(1) : (() => { if (map.getLayers().getLength() === 1) { if (!pinning) map.getLayers().extend([pinLayer]); } })(); }; export default changeResolutionHandler;