UNPKG

vue-amap

Version:
80 lines (67 loc) 2.15 kB
// polyfills import './polyfills'; import upperCamelCase from 'uppercamelcase'; // 初始化接口 import {initAMapApiLoader} from './services/injected-amap-api-instance'; // 组建导入 import AMap from './components/amap.vue'; import AMapMarker from './components/amap-marker.vue'; import AMapSearchBox from './components/amap-search-box.vue'; import AMapCircle from './components/amap-circle.vue'; import AMapGroupImage from './components/amap-ground-image.vue'; import AMapInfoWindow from './components/amap-info-window.vue'; import AMapPolyline from './components/amap-polyline.vue'; import AMapPolygon from './components/amap-polygon.vue'; import AMapText from './components/amap-text.vue'; import AMapBezierCurve from './components/amap-bezier-curve.vue'; import AMapCircleMarker from './components/amap-circle-marker.vue'; import AMapEllipse from './components/amap-ellipse.vue'; import AMapRectangle from './components/amap-rectangle.vue'; // managers import AMapManager from './managers/amap-manager'; import createCustomComponent from './adapter/custom-adapter'; let components = [ AMap, AMapMarker, AMapSearchBox, AMapCircle, AMapGroupImage, AMapInfoWindow, AMapPolygon, AMapPolyline, AMapText, AMapBezierCurve, AMapCircleMarker, AMapEllipse, AMapRectangle ]; let VueAMap = { initAMapApiLoader, AMapManager }; VueAMap.install = (Vue) => { if (VueAMap.installed) return; Vue.config.optionMergeStrategies.deferredReady = Vue.config.optionMergeStrategies.created; components.map(_component => { // register component Vue.component(_component.name, _component); // component cache VueAMap[upperCamelCase(_component.name).replace(/^El/, '')] = _component; }); }; const install = function(Vue, opts = {}) { /* istanbul ignore if */ if (install.installed) return; VueAMap.install(Vue); }; /* istanbul ignore if */ if (typeof window !== 'undefined' && window.Vue) { install(window.Vue); }; export default VueAMap; export { AMapManager, initAMapApiLoader, createCustomComponent }; export { lazyAMapApiLoaderInstance } from './services/injected-amap-api-instance';