UNPKG

@vuemap/vue-amap

Version:

高德地图vue3版本封装

52 lines (49 loc) 1.61 kB
import { defineComponent } from 'vue'; import '../../../mixins/index.mjs'; import { propsType } from './props.mjs'; import { useRegister } from '../../../mixins/useRegister.mjs'; var script = /* @__PURE__ */ defineComponent({ ...{ name: "ElAmapControlGeolocation", inheritAttrs: false }, __name: "Geolocation", props: propsType, emits: ["init", "complete"], setup(__props, { expose: __expose, emit: __emit }) { const emits = __emit; let $amapComponent; const emitComplete = (e) => { emits("complete", e); }; const { $$getInstance, parentInstance } = useRegister((options, parentComponent) => { return new Promise((resolve) => { parentComponent.plugin(["AMap.Geolocation"], () => { $amapComponent = new AMap.Geolocation(options); parentComponent.addControl($amapComponent); $amapComponent.on("complete", emitComplete); resolve($amapComponent); }); }); }, { emits, destroyComponent() { $amapComponent.off("complete", emitComplete); if ($amapComponent && (parentInstance == null ? void 0 : parentInstance.$amapComponent)) { if (!(parentInstance == null ? void 0 : parentInstance.isDestroy)) { parentInstance == null ? void 0 : parentInstance.$amapComponent.removeControl($amapComponent); } $amapComponent = null; } } }); __expose({ $$getInstance }); return (_ctx, _cache) => { return null; }; } }); export { script as default }; //# sourceMappingURL=Geolocation.vue2.mjs.map