import{__awaiter as t,__generator as e}from"./_virtual/_tslib.js";import r from"./mixins/mixins.js";import{theSamePair as n,lngLat2Array as o,nearPair as i}from"./utils/amap-helpers.js";import{defineProp as s}from"./mixins/props.js";import a from"./mixins/base.js";import{withVisible as u,withZIndex as m,withOpacity as p,withZooms as c}from"./mixins/common.js";var f=r(a,u(!0),m,p,c).extend({name:"AmapLabelMarker",inject:["$amapLabelsLayer"],amapMeta:{initComponent:function(r,n){return t(this,void 0,void 0,(function(){return e(this,(function(t){return[2,new r.LabelMarker(n)]}))}))},add:function(r,n){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){return(t=this.$layer)?(t.add(n),[2]):[2]}))}))},remove:function(r,n){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){return(t=this.$layer)?(t.remove(n),[2]):[2]}))}))},events:["mousedown","mouseup","touchstart","touchmove","touchend","click","mousemove","mouseover","mouseout"]},props:{name:s("setName",String),position:s({type:Array,deep:!0,equals:n,setter:function(t,e){if(e){var r=o(t.getPosition());i(e,r)||t.setPosition([e[0],e[1]])}}}),rank:s("setRank",Number),icon:s({type:Object,setter:"setIcon",deep:!0}),text:s({type:Object,setter:"setText",deep:!0})},computed:{$layerContext:function(){return this.$amapLabelsLayer},$layer:function(){var t=this.$layerContext;return t?t.target:null}},mounted:function(){if(!this.$layerContext)throw new Error("LabelMarker 需要与 LabelsLayer 配合使用")}});export default f;