index.js

import hyMapBox from './components/index';

const instances = {};
const DOM_ATTRIBUTE_KEY = '_hy_instance_';
let idBase = new Date() - 0;

/**
 * 全局变量
 * @type {Object}
 * @namespace  hyMap
 */
const config = {
    /**
     * 版本号
     * @memberof hyMap
     * @type {String}
     */
/*    version: '0.3',*/
    /**
     * 依赖第三方库 openlayers,turf
     * @memberof hyMap
     * @type {Object}
     */
  /*  dependencies: {
        'mapbox-gl': '0.44.1'
    },*/
    /**
     * 初始化
     * @type {Boolean}
     * @memberof hyMap
     * @default false
     * @param DomNode dom对象
     */

    init: function (DOMNode) {

        if (DOMNode === null) {

            throw new Error('请提供合适的dom节点元素');

        }
        const nowID = 'map_' + idBase++;
        let map = new hyMapBox(DOMNode);

        instances[nowID] = map;
        if (DOMNode.setAttribute) {

            DOMNode.setAttribute(DOM_ATTRIBUTE_KEY, nowID);

        }
        return map;

    },

    /**
     * 获取当前实例
     * @memberof hyMap
     * @param  {DOM}   dom 窗体dom
     * @return {object|null}  object实例
     * @method
     */
    getInstanceByDom: dom => {

        const key = dom.getAttribute(DOM_ATTRIBUTE_KEY);
        if (!key) {

            console.error('该DOM节点上面没有地图实例');
            return null;

        } else {

            return instances[key];

        }

    },

    /**
     * 删除
     * @memberOf hyMap
     * @param  {String} id
     * @method
     */
    deleteInstance: id => {

        delete instances[id];

    }
};
export default config;