Source: olHelpers/quickMapMulti.js

/**
 * Created by gavorhes on 12/15/2015.
 */

import quickMapBase from './quickMapBase';
import provide from '../util/provide';
import MapMoveCls from './mapMoveCls';
import MapPopupCls from './mapPopupCls';
let nm = provide('olHelpers');


/**
 * @typedef {object} quickMapMultiReturn
 * @property {ol.Map} map The X Coordinate
 * @property {MapMoveCls} mapMove The Y Coordinate
 * @property {MapPopupCls} mapPopup The Y Coordinate
 */

/**
 * Sets up a map with some default parameters and initializes
 * mapMove and mapPopup
 *
 * @param {object} [options={}] config options
 * @param {string} [options.divId=map] map div id
 * @param {object} [options.center={}] center config object
 * @param {number} [options.center.x=-10018378] center x, web mercator x or lon
 * @param {number} [options.center.y=5574910] center y, web mercator y or lat
 * @param {number} [options.zoom=7] zoom level
 * @param {number} [options.minZoom=undefined] min zoom
 * @param {number} [options.maxZoom=undefined] max zoom
 * @param {boolean} [options.baseSwitcher=true] if add base map switcher
 * @returns {quickMapMultiReturn} return map, map move, and map popup objects
 */
function quickMapMulti(options) {
    let m = quickMapBase(options);
    let mov = new MapMoveCls();
    let pop = new MapPopupCls();
    mov.init(m);
    pop.init(m);

    return {map: m, mapMove: mov, mapPopup: pop};
}

nm.quickMapMulti = quickMapMulti;
export default quickMapMulti;