tg-map-vue3 3.4.0 → 3.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,5 +14,5 @@
14
14
  `)}i.trimIndent=e;function r(n){return n.replace(/([^A-Z]?)([A-Z])/g,(s,l,c)=>l?`${l}-${c.toLowerCase()}`:c.toLowerCase())}i.pascal2kebab=r})(a.Strings||(a.Strings={}));const ar={basename(i,t){const e=i.endsWith("/")?i.slice(0,-1):i,r=e.lastIndexOf("/"),n=r>=0?e.substring(r+1):e;return t&&n.endsWith(t)?n.slice(0,-t.length):n}};let ft;function ni(i,t,e,r){return ft||(ft=si()),new ft(i,t,e,r)}function si(){return class extends google.maps.OverlayView{constructor(e,r,n,s){super();d(this,"container");this.position=r,this.offset=n,this.zIndex=s,this.container=document.createElement("div"),this.container.className="label-container",this.container.style.position="absolute",s&&this.setZIndex(s),this.container.addEventListener("click",()=>{google.maps.event.trigger(this,"click")}),this.setElement(e)}setZIndex(e){this.container.style.zIndex=`${e}`}setElement(e){const r=this.container.firstChild;r!==e&&(r?this.container.replaceChild(r,e):this.container.appendChild(e))}onAdd(){const e=this.getPanes()??E("onAdd回调中一定能够获取panes");this.zIndex?e.overlayMouseTarget.appendChild(this.container):e.overlayLayer.appendChild(this.container)}draw(){var e,r;if(this.container.style.display=this.position?"block":"none",this.position){const n=this.getProjection();if(n){const s=n.fromLatLngToDivPixel(this.position);s&&(this.container.style.left=`${s.x+(((e=this.offset)==null?void 0:e.x)??0)}px`,this.container.style.top=`${s.y+(((r=this.offset)==null?void 0:r.y)??0)}px`)}}}onRemove(){var e;(e=this.container.parentNode)==null||e.removeChild(this.container)}setPosition(e){this.position=e,this.draw()}getPosition(){return this.position}setOffset(e){this.offset=e,this.draw()}getOffset(){return this.offset}getVisible(){return this.container.style.visibility!=="hidden"}setVisible(e){this.container.style.visibility=e?"visible":"hidden"}}}var ie;(i=>{function t(r){return typeof r=="string"?r:r.outerHTML}i.toString=t;function e(r){if(typeof r=="string"){const n=document.createElement("div");return n.innerHTML=r,n}return r}i.toElement=e})(ie||(ie={}));class yt extends de{constructor(e,r,n,s){super(e,r,n);d(this,"icon");d(this,"iconAnchor");d(this,"content",void 0);d(this,"contentObserver");this.setContentInternal(s,!0)}static create(e){var l;const r=this.coordType,n=new BMap.Label(ie.toString(e.content),{position:(l=e.position)==null?void 0:l.toBaidu(r),offset:e.offset&&new BMap.Size(e.offset.x,e.offset.y)});e.zIndex&&n.setZIndex(e.zIndex),n.setStyle({border:"0px",padding:"0px",backgroundColor:"unset"});const s=new yt(n,r,this,e.content);return n.__label__=s,s}setContentInternal(e,r=!1){this.content!==e&&(this.contentObserver&&(this.contentObserver.disconnect(),this.contentObserver=void 0),typeof e!="string"&&(this.contentObserver=new MutationObserver(()=>{this.innerOverlay.setContent(e.outerHTML)}),this.contentObserver.observe(e,{attributes:!0,characterData:!0,childList:!0,subtree:!0})),r||this.innerOverlay.setContent(ie.toString(e)),this.content=e)}setZIndex(e){this.innerOverlay.setZIndex(e)}getPosition(){return _.fromBaidu(this.innerOverlay.getPosition(),this.coordType)}setPosition(e){this.coordType=this.map.coordType,this.innerOverlay.setPosition(e.toBaidu(this.coordType))}getOffset(){const e=this.innerOverlay.getOffset();let r=0,n=0;return this.iconAnchor&&(r=this.iconAnchor.width,n=this.iconAnchor.height),{x:e.width-r,y:e.height-n}}setOffset(e){let r=0,n=0;this.iconAnchor&&(r=this.iconAnchor.width,n=this.iconAnchor.height),this.innerOverlay.setOffset(new BMap.Size(e.x+r,e.y+n))}setContent(e){this.setContentInternal(e)}attachIcon(e){var c;let r;if(e instanceof BMap.Icon)r=e.anchor;else if(e)if(e.anchor)r=e.anchor;else{const o=((c=e.__icon__)==null?void 0:c.baiduLabelOffset)??{x:0,y:0};r={width:e.style.anchor.width+o.x,height:e.style.anchor.height+o.y},process.env.NODE_ENV!=="production"&&setTimeout(()=>{var p,m;if(U(e.__icon__,`${e}必须是由'SymbolIcon.toBaidu()'创建的`),!e.anchor){console.log("BaiduLabelOverlay.attachIcon","Bmap.Symbol.anchor尚未计算完成");return}const h=e.anchor.width-e.style.anchor.width,u=e.anchor.height-e.style.anchor.height;if(o.x!==h||o.y!==u){const C=[(p=e.__icon__.anchor)==null?void 0:p.x,(m=e.__icon__.anchor)==null?void 0:m.y,e.__icon__.rotation,e.__icon__.scale,e.__icon__.strokeWeight].map(M=>M??"").join(",");console.warn("BaiduLabelOverlay.attachIcon",e.__icon__,a.Strings.trimIndent(`
15
15
  为了保证Label的位置正确, 请将SymbolIcon(${C})中baiduLabelOffset的值改写成:
16
16
  ${JSON.stringify({x:h,y:u})}
17
- `))}},1)}const n=this.innerOverlay.getOffset();let s=n.width,l=n.height;this.iconAnchor&&(s-=this.iconAnchor.width,l-=this.iconAnchor.height),r&&(s+=r.width,l+=r.height),this.innerOverlay.setOffset(new BMap.Size(s,l)),this.icon=e,this.iconAnchor=r}}class vt extends Ae{static create(t){var n;const e=this.coordType,r=ni(ie.toElement(t.content),(n=t.position)==null?void 0:n.toGoogle(e),t.offset,t.zIndex);return new vt(r,e,this)}setZIndex(t){this.innerOverlay.setZIndex(t)}setContent(t){this.innerOverlay.setElement(ie.toElement(t))}getPosition(){const t=this.innerOverlay.getPosition();return t?_.fromGoogle(t,this.coordType):_.ZERO}setPosition(t){this.coordType=this.map.coordType,this.innerOverlay.setPosition(t.toGoogle(this.coordType))}getOffset(){return this.innerOverlay.getOffset()??a.Point.ZERO}setOffset(t){this.innerOverlay.setOffset(t)}}const ue={toGoogle:i=>"url"in i?a.Icon.toGoogle(i):a.SymbolIcon.toGoogle(i),toBaidu:i=>"url"in i?a.Icon.toBaidu(i):a.SymbolIcon.toBaidu(i)};a.Icon=void 0,(i=>{function t(r){return{url:r.url,size:new google.maps.Size(r.size.width,r.size.height),origin:r.origin&&new google.maps.Point(r.origin.x,r.origin.y),scaledSize:r.scaledSize&&new google.maps.Size(r.scaledSize.width,r.scaledSize.height),anchor:r.anchor&&new google.maps.Point(r.anchor.x,r.anchor.y)}}i.toGoogle=t;function e(r){return new BMap.Icon(r.url,new BMap.Size(r.size.width,r.size.height),{imageOffset:r.origin&&new BMap.Size(-r.origin.x,-r.origin.y),imageSize:r.scaledSize&&new BMap.Size(r.scaledSize.width,r.scaledSize.height),anchor:r.anchor?new BMap.Size(r.anchor.x,r.anchor.y):new BMap.Size(r.size.width/2,r.size.height)})}i.toBaidu=e})(a.Icon||(a.Icon={})),a.SymbolIcon=void 0,(i=>{function t(r){return{path:typeof r.path=="string"?r.path:r.path.google(),anchor:r.anchor&&new google.maps.Point(r.anchor.x,r.anchor.y),fillColor:r.fillColor,fillOpacity:r.fillOpacity,scale:r.scale,rotation:r.rotation,strokeColor:r.strokeColor,strokeOpacity:r.strokeOpacity,strokeWeight:r.strokeWeight}}i.toGoogle=t;function e(r){const n=new BMap.Symbol(typeof r.path=="string"?r.path:r.path.baidu(),{anchor:r.anchor&&new BMap.Size(r.anchor.x,r.anchor.y),fillColor:r.fillColor,fillOpacity:r.fillOpacity,scale:r.scale,rotation:r.rotation,strokeColor:r.strokeColor,strokeOpacity:r.strokeOpacity,strokeWeight:r.strokeWeight});return n.__icon__=r,n}i.toBaidu=e})(a.SymbolIcon||(a.SymbolIcon={}));const oi={CIRCLE:{baidu:()=>BMap_Symbol_SHAPE_CIRCLE,google:()=>google.maps.SymbolPath.CIRCLE},BACKWARD_CLOSED_ARROW:{baidu:()=>BMap_Symbol_SHAPE_BACKWARD_CLOSED_ARROW,google:()=>google.maps.SymbolPath.BACKWARD_CLOSED_ARROW},BACKWARD_OPEN_ARROW:{baidu:()=>BMap_Symbol_SHAPE_BACKWARD_OPEN_ARROW,google:()=>google.maps.SymbolPath.BACKWARD_OPEN_ARROW},FORWARD_CLOSED_ARROW:{baidu:()=>BMap_Symbol_SHAPE_FORWARD_CLOSED_ARROW,google:()=>google.maps.SymbolPath.FORWARD_CLOSED_ARROW},FORWARD_OPEN_ARROW:{baidu:()=>BMap_Symbol_SHAPE_FORWARD_OPEN_ARROW,google:()=>google.maps.SymbolPath.FORWARD_OPEN_ARROW}};class ne extends de{constructor(t,e,r,n){super(t,e,r),this.state=n}static create(t){const e=this.coordType,r=t.icon,n={title:t.title,icon:r&&ue.toBaidu(r),enableClicking:t.clickable,enableDragging:t.draggable,raiseOnDrag:t.crossOnDrag===void 0?!0:t.crossOnDrag,draggingCursor:t.cursor},s=new BMap.Marker(t.position.toBaidu(e),n);t.zIndex!==void 0&&s.setZIndex(t.zIndex);const l=t.clickable===void 0?!0:t.clickable,c=!!t.draggable;return new ne(s,e,this,{clickable:l,draggable:c,zIndex:t.zIndex}).visibleOptionInternal(t.visible)}getPosition(){return _.fromBaidu(this.innerOverlay.getPosition(),this.coordType)}setPosition(t){var e;this.coordType=this.map.coordType,this.innerOverlay.setPosition(t.toBaidu(this.coordType)),(e=this.innerOverlay.__info_box__)==null||e.onMarkerPositionChanged()}setTitle(t){this.innerOverlay.setTitle(t)}getTitle(){return this.innerOverlay.getTitle()}setIcon(t){const e=ue.toBaidu(t);this.innerOverlay.setIcon(e);const r=this.getLabel();r&&r.attachIcon(e)}getIcon(){return this.innerOverlay.getIcon()}setClickable(t){this.state.clickable=t}isClickable(){return this.state.clickable}setDraggable(t){this.state.draggable=t,t?this.innerOverlay.enableDragging():this.innerOverlay.disableDragging()}isDraggable(){return this.state.draggable}setZIndex(t){this.state.zIndex=t,this.innerOverlay.setZIndex(t||0)}getZIndex(){return this.state.zIndex}setLabel(t){const e=this.getLabel();e&&e.attachIcon(void 0),t&&t.attachIcon(this.innerOverlay.getIcon()),this.innerOverlay.setLabel(t==null?void 0:t.innerOverlay)}getLabel(){var t;return(t=this.innerOverlay.getLabel())==null?void 0:t.__label__}}class We extends Ae{constructor(){super(...arguments);d(this,"label");d(this,"labelPositionListener");d(this,"labelVisibleListener");d(this,"labelMapChangedListener")}static create(e){const r=this.coordType,n=e.icon,s={position:e.position.toGoogle(r),title:e.title,zIndex:e.zIndex,visible:e.visible,icon:n&&ue.toGoogle(n),clickable:e.clickable,draggable:e.draggable,crossOnDrag:e.crossOnDrag,cursor:e.cursor,anchorPoint:new google.maps.Point(0,0)};return new We(new google.maps.Marker(s),r,this)}getPosition(){return _.fromGoogle(this.innerOverlay.getPosition(),this.coordType)}setPosition(e){this.coordType=this.map.coordType,this.innerOverlay.setPosition(e.toGoogle(this.coordType))}setTitle(e){this.innerOverlay.setTitle(e)}getTitle(){return this.innerOverlay.getTitle()||""}setIcon(e){this.innerOverlay.setIcon(ue.toGoogle(e))}getIcon(){return this.innerOverlay.getIcon()}setClickable(e){this.innerOverlay.setClickable(e)}isClickable(){return this.innerOverlay.getClickable()}setDraggable(e){this.innerOverlay.setDraggable(e)}isDraggable(){return!!this.innerOverlay.getDraggable()}setZIndex(e){this.innerOverlay.setZIndex(e===void 0?null:e)}getZIndex(){const e=this.innerOverlay.getZIndex();return e===null?void 0:e}setLabel(e){if(this.label&&this.map.removeOverlay(this.label),this.labelPositionListener&&this.labelPositionListener.remove(),this.labelVisibleListener&&this.labelVisibleListener.remove(),this.labelMapChangedListener&&this.labelMapChangedListener.remove(),e){const r=()=>{e.innerOverlay.setPosition(this.innerOverlay.getPosition())},n=()=>{e.innerOverlay.setVisible(this.innerOverlay.getVisible())},s=()=>{this.innerOverlay.getMap()?this.map.addOverlay(e):this.map.removeOverlay(e)};s(),r(),n(),this.label=e,this.labelMapChangedListener=this.innerOverlay.addListener("map_changed",s),this.labelPositionListener=this.innerOverlay.addListener("position_changed",r),this.labelVisibleListener=this.innerOverlay.addListener("visible_changed",n)}else this.label=void 0,this.labelPositionListener=void 0,this.labelVisibleListener=void 0,this.labelMapChangedListener=void 0}}class je extends nr{constructor(){super(...arguments);d(this,"eventHubDelegate");d(this,"prevPath");d(this,"isDoingSetPath",!1);d(this,"onLineUpdate",()=>{var r;const e=this.innerOverlay.getPath();e!==this.prevPath&&(this.isDoingSetPath||(r=this.eventHubDelegate)==null||r.notify({type:this.pathEditedEventType,target:this,originalEvent:{prevPath:this.prevPath,path:e}}),this.prevPath=e)})}setPathInternal(e){this.isDoingSetPath=!0,this.innerOverlay.setPath(e),this.isDoingSetPath=!1}createDelegate(){return this.eventHubDelegate=new Ce(super.createDelegate(),{types:[this.pathEditedEventType],onListen:()=>{this.prevPath=this.innerOverlay.getPath(),this.innerOverlay.addEventListener("lineupdate",this.onLineUpdate)},onCancel:()=>{this.innerOverlay.removeEventListener("lineupdate",this.onLineUpdate),this.prevPath=void 0}})}}class He extends je{constructor(){super(...arguments);d(this,"pathEditedEventType","path-edited")}static create(e){const r=this.coordType,n=new BMap.Polyline(e.path.map(s=>s.toBaidu(r)),{enableClicking:e.clickable,enableEditing:e.editable,strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight});return new He(n,r,this,{editable:e.editable===!0}).visibleOptionInternal(e.visible)}getPath(){return this.innerOverlay.getPath().map(e=>_.fromBaidu(e,this.coordType))}setPath(e){this.coordType=this.map.coordType,this.setPathInternal(e.map(r=>r.toBaidu(this.coordType)))}}class Ve extends xe{constructor(){super(...arguments);d(this,"pathChangedListeners");d(this,"eventHubDelegate")}static create(e){const r=this.coordType,n=new google.maps.Polyline({path:e.path.map(s=>s.toGoogle(r)),clickable:e.clickable,editable:e.editable,strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,visible:e.visible});return new Ve(n,r,this)}setupPathChangedListeners(){const e=()=>{var n;return(n=this.eventHubDelegate)==null?void 0:n.notify({type:"path-edited",target:this})},r=this.innerOverlay.getPath();this.pathChangedListeners=a.MVCArrays.listenChanged(r,e)}clearPathChangedListeners(){var e;(e=this.pathChangedListeners)==null||e.forEach(r=>r.remove()),this.pathChangedListeners=void 0}createDelegate(){return this.eventHubDelegate=new Ce(super.createDelegate(),{types:["path-edited"],onListen:()=>this.setupPathChangedListeners(),onCancel:()=>this.clearPathChangedListeners()})}getPath(){const e=[];return this.innerOverlay.getPath().forEach(r=>{e.push(_.fromGoogle(r,this.coordType))}),e}setPath(e){var r;this.coordType=this.map.coordType,this.innerOverlay.setPath(e.map(n=>n.toGoogle(this.coordType))),(r=this.eventHubDelegate)!=null&&r.hasListener("path-edited")&&this.setupPathChangedListeners()}}class Fe extends je{constructor(){super(...arguments);d(this,"pathEditedEventType","paths-edited")}static create(e){const r=this.coordType;e.paths.length>1&&console.warn("baidu不支持多path, 只会显示paths[0]");const n=e.paths[0]||[],s=new BMap.Polygon(n.map(l=>l.toBaidu(r)),{enableClicking:e.clickable,enableEditing:e.editable,strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity});return new Fe(s,r,this,{editable:!!e.editable}).visibleOptionInternal(e.visible)}getPaths(){return[this.innerOverlay.getPath().map(e=>_.fromBaidu(e,this.coordType))]}setPaths(e){e.length>1&&console.warn("baidu不支持多path, 只会显示paths[0]"),this.coordType=this.map.coordType,this.setPathInternal((e[0]||[]).map(r=>r.toBaidu(this.coordType)))}}class Ue extends xe{constructor(){super(...arguments);d(this,"pathChangedListeners");d(this,"eventHubDelegate")}static create(e){const r=this.coordType,n=new google.maps.Polygon({paths:e.paths.map(s=>s.map(l=>l.toGoogle(r))),clickable:e.clickable,editable:e.editable,strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity,visible:e.visible});return new Ue(n,r,this)}setupPathChangedListeners(){const e=()=>{var n;return(n=this.eventHubDelegate)==null?void 0:n.notify({type:"paths-edited",target:this})},r=this.innerOverlay.getPaths();this.pathChangedListeners=[],r.forEach(n=>{this.pathChangedListeners.push(...a.MVCArrays.listenChanged(n,e))})}clearPathChangedListeners(){var e;(e=this.pathChangedListeners)==null||e.forEach(r=>r.remove()),this.pathChangedListeners=void 0}createDelegate(){return this.eventHubDelegate=new Ce(super.createDelegate(),{types:["paths-edited"],onListen:()=>this.setupPathChangedListeners(),onCancel:()=>this.clearPathChangedListeners()})}getPaths(){const e=this.innerOverlay.getPaths(),r=[];return e.forEach(n=>{const s=[];r.push(s),n.forEach(l=>{s.push(_.fromGoogle(l,this.coordType))})}),r}setPaths(e){var r;this.coordType=this.map.coordType,this.innerOverlay.setPaths(e.map(n=>n.map(s=>s.toGoogle(this.coordType)))),(r=this.eventHubDelegate)!=null&&r.hasListener("paths-edited")&&this.setupPathChangedListeners()}}class qe extends je{constructor(e,r,n,s){super(e,r,n,s);d(this,"pathEditedEventType","bounds-changed");d(this,"isDoingUpdateRectangle",!1);d(this,"onBoundsChanged",({originalEvent:e})=>{if(this.isDoingUpdateRectangle)return;const r=e.prevPath??[],n=e.path;setTimeout(()=>{let s=n;const l=n.length;if(r.length===4)if(l>r.length){for(let o=0;o<l;o++)if(r[o]==null||!or.equals(n[o],r[o])){const h=n[(o-2+l)%l],u=n[(o-1+l)%l],p=n[o],m=n[(o+1)%l],C=n[(o+2)%l];let M;u.lat===m.lat?M=new BMap.Point(u.lng,p.lat):u.lng===m.lng?M=new BMap.Point(p.lng,u.lat):M=p,s=[h,C,M];break}}else if(l===r.length){for(let o=0;o<l;o++)if(!or.equals(n[o],r[o])){s=[n[o],n[(o+2)%4]];break}}else l<r.length;const c=A.fromArray(s.map(o=>_.fromBaidu(o,this.coordType)));c&&(this.isDoingUpdateRectangle=!0,this.innerOverlay.setPath(c.toRectArray().map(o=>o.toBaidu(this.coordType))),this.isDoingUpdateRectangle=!1)},0)});this.addEventListener("bounds-changed",this.onBoundsChanged)}static create(e){const r=this.coordType,n=new BMap.Polygon(e.bounds.toRectArray().map(s=>s.toBaidu(r)),{enableClicking:e.clickable,enableEditing:e.editable,strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity});return new qe(n,r,this,{editable:!!e.editable}).visibleOptionInternal(e.visible)}getBounds(){return A.fromBaidu(this.innerOverlay.getBounds(),this.coordType)}setBounds(e){const r=e.toRectArray();this.innerOverlay.getPath().length===r.length?e.toRectArray().forEach((n,s)=>{this.innerOverlay.setPositionAt(s,n.toBaidu(this.coordType))}):this.setPathInternal(r.map(n=>n.toBaidu(this.coordType)))}}class Ye extends xe{static create(t){const e=this.coordType,r=new google.maps.Rectangle({bounds:t.bounds.toGoogle(e),clickable:t.clickable,editable:t.editable,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,visible:t.visible});return new Ye(r,e,this)}getBounds(){return A.fromGoogle(this.innerOverlay.getBounds()??F.BOUNDS_ZERO,this.coordType)}setBounds(t){const e=t.toGoogle(this.coordType);e.equals(this.innerOverlay.getBounds())||this.innerOverlay.setBounds(e)}}const Y=1;class ai extends Ie{constructor(e,r){var n;super(e);d(this,"buildInMapTypeId2BIMT");d(this,"baiduMapType2BIMT");d(this,"map");d(this,"createLabel",yt.create);d(this,"createCircle",Re.create);d(this,"createPolygon",Fe.create);d(this,"createPolyline",He.create);d(this,"createRectangle",qe.create);d(this,"createInfoWindow",ze.create);d(this,"createInfoBox",Ge.create);d(this,"createMarker",ne.create);d(this,"createMapTypeControl",we.create);d(this,"createZoomControl",Le.create);d(this,"createScaleControl",Ee.create);this.buildInMapTypeId2BIMT=$.BUILD_IN_MAP_TYPES.getValueMap(R.prototype.getId),this.baiduMapType2BIMT=$.BUILD_IN_MAP_TYPES.getValueMap(R.prototype.asBaiduMapType),this.map=new BMap.Map(e,{minZoom:r.minZoom&&r.minZoom+Y,maxZoom:r.maxZoom&&r.maxZoom+Y,mapType:r.buildInMapTypeId&&((n=this.buildInMapTypeId2BIMT.get(r.buildInMapTypeId))==null?void 0:n.asBaiduMapType()),enableMapClick:!1}),this.map.centerAndZoom(r.center.toBaidu(this.coordType),r.zoom+Y),this.setGestureHandling(r.gestureHandling),r.infoWindowMode==="multi"&&console.warn("baidu不支持多个InfoWindow, 可能会出现未知问题"),r.mapStyle&&this.map.setMapStyleV2(r.mapStyle.toBaidu()),this.setEventTargetDelegate(new re(this.map,this)),this.map.addEventListener("addoverlay",s=>{const l=s.target.__info_box__;l&&(console.debug("add:info-box",l),this.map.addOverlay(l))}),this.map.addEventListener("removeoverlay",s=>{const l=s.target.__info_box__;l&&(console.debug("remove:info-box",l),this.map.removeOverlay(l))})}setDefaultCursor(e){this.innerMap.setDefaultCursor(e)}setGestureHandling(e=W.auto){switch(e===W.auto&&(e=this.element.parentElement&&it.isScrollable(this.element.parentElement)?W.cooperative:W.greedy),e){case W.cooperative:this.map.disableScrollWheelZoom(),this.map.enableDragging(),this.map.enableDoubleClickZoom();break;case W.greedy:this.map.enableScrollWheelZoom(),this.map.enableDragging(),this.map.enableDoubleClickZoom();break;case W.none:this.map.disableDragging(),this.map.disableScrollWheelZoom(),this.map.disableDoubleClickZoom();break}}get innerMap(){return this.map}get coordType(){return this.getMapType().getBaiduCoordType()}addEventListener(e,r){if(e==="center-changed"){super.addEventListener("movestart",r),super.addEventListener("moving",r),super.addEventListener("moveend",r),super.addEventListener("zoomend",r);return}super.addEventListener(e,r)}removeEventListener(e,r){if(e==="center-changed"){super.removeEventListener("movestart",r),super.removeEventListener("moving",r),super.removeEventListener("moveend",r),super.removeEventListener("zoomend",r);return}super.removeEventListener(e,r)}fromContainerPointToLatLng(e){return _.fromBaidu(this.innerMap.pixelToPoint(new BMap.Pixel(e.x,e.y)),this.coordType)}fromLatLngToContainerPoint(e){return this.innerMap.pointToPixel(e.toBaidu(this.coordType))}setDraggable(e){e?this.innerMap.enableDragging():this.innerMap.disableDragging()}setDisableDoubleClickZoom(e){e?this.map.enableDoubleClickZoom():this.map.disableDoubleClickZoom()}getCenter(){return _.fromBaidu(this.map.getCenter(),this.coordType)}setCenter(e){this.map.setCenter(e.toBaidu(this.coordType))}getZoom(){return super.getZoom()-Y}setZoom(e){return super.setZoom(e+Y)}setMinZoom(e){this.map.setMinZoom(e+Y)}setMaxZoom(e){this.map.setMaxZoom(e+Y)}setMapStyle(e){this.map.setMapStyleV2(e.toBaidu())}setBuildInMapTypeId(e){var n;const r=(n=this.buildInMapTypeId2BIMT.get(e))==null?void 0:n.asBaiduMapType();this.map.setMapType(r??E("理论上来说不可能为空"))}setMapType(e){this.map.setMapType(e.asBaiduMapType())}getMapType(){const e=this.map.getMapType(),r=this.baiduMapType2BIMT.get(e);return r||(e.__baidu_map_type__??E("实现asBaiduMapType()时, 忘了给实例设置__baidu_map_type__?"))}addLayer(e){this.map.addTileLayer(e.asBaiduLayer())}removeLayer(e){this.map.removeTileLayer(e.asBaiduLayer())}panTo(e){this.map.panTo(e.toBaidu(this.coordType))}panBy(e,r){this.map.panBy(e,r)}fitBounds(e,r){this.map.setViewport(e.toBaiduArray(this.coordType),{margins:r&&[r.top,r.right,r.bottom,r.left]})}getBounds(){return A.fromBaidu(this.map.getBounds(),this.coordType)}addElementOverlay(e){this.map.addOverlay(e.asBaidu())}removeElementOverlay(e){this.map.removeOverlay(e.asBaidu())}addOverlay(e){this.map.addOverlay(e.innerOverlay)}removeOverlay(e){this.map.removeOverlay(e.innerOverlay)}addCustomControl(e){if(!e.inner){const r=class extends BMap.Control{constructor(){super(...arguments);d(this,"defaultAnchor",a.ControlPositionConverter.getBaidu().toValue(e.position));d(this,"defaultOffset",new BMap.Size(0,0))}initialize(s){const l=e.onCreateElement();return s.getContainer().appendChild(l),l}};e.inner=new r,this.map.addControl(e.inner)}}removeCustomControl(e){e.inner&&(U(e.inner instanceof BMap.Control,`control.inner(${e.inner})需要是BMap.Control`),this.map.removeControl(e.inner))}createMarkerClusterer(e){return new qt(this,e)}createAutocomplete(e){return new Wt(this,e)}createSearchBox(e){return new Qt(this,e)}createPlaceService(e){return new Xt(this,e)}}class li extends Ie{constructor(e,r){var s;super(e);d(this,"buildInMapTypeId2BIMT");d(this,"googleMapTypeId2BIMT");d(this,"map");d(this,"createLabel",vt.create);d(this,"createCircle",$e.create);d(this,"createPolygon",Ue.create);d(this,"createPolyline",Ve.create);d(this,"createRectangle",Ye.create);d(this,"createInfoWindow",Ne.create);d(this,"createInfoBox",Ze.create);d(this,"createMarker",We.create);d(this,"createMapTypeControl",ce.create);d(this,"createZoomControl",ke.create);d(this,"createScaleControl",Pe.create);this.mapOptions=r,this.buildInMapTypeId2BIMT=$.BUILD_IN_MAP_TYPES.getValueMap(R.prototype.getId),this.googleMapTypeId2BIMT=$.BUILD_IN_MAP_TYPES.getValueMap(R.prototype.getGoogleMapTypeId);const n=r.buildInMapTypeId&&this.buildInMapTypeId2BIMT.get(r.buildInMapTypeId);this.map=new google.maps.Map(e,{center:r.center.toGoogle((n??$.NORMAL).getGoogleCoordType()),zoom:r.zoom,disableDefaultUI:!0,streetViewControl:!0,gestureHandling:r.gestureHandling,minZoom:r.minZoom,maxZoom:r.maxZoom,styles:(s=r.mapStyle)==null?void 0:s.toGoogle(),mapTypeId:n==null?void 0:n.getGoogleMapTypeId()}),this.setEventTargetDelegate(new q(this.map,this))}setDefaultCursor(e){this.innerMap.setOptions({draggableCursor:e})}setGestureHandling(e){this.map.setOptions({gestureHandling:e})}get innerMap(){return this.map}get coordType(){return this.getMapType().getGoogleCoordType()}fromContainerPointToLatLng(e){const r=this.innerMap.getProjection(),n=this.innerMap.getBounds();if(r==null||n==null)return _.ZERO;const s=r.fromLatLngToPoint(n.getSouthWest()),l=r.fromLatLngToPoint(n.getNorthEast()),c=this.innerMap.getZoom();if(s==null||l==null||c==null)return _.ZERO;const o=Math.pow(2,c),h=new google.maps.Point(e.x/o+s.x,e.y/o+l.y);return _.fromGoogle(r.fromPointToLatLng(h)??F.LATLNG_ZERO,this.coordType)}fromLatLngToContainerPoint(e){const r=this.innerMap.getProjection(),n=this.innerMap.getBounds();if(r==null||n==null)return a.Point.ZERO;const s=r.fromLatLngToPoint(n.getSouthWest()),l=r.fromLatLngToPoint(n.getNorthEast()),c=this.innerMap.getZoom();if(s==null||l==null||c==null)return a.Point.ZERO;const o=Math.pow(2,c),h=r.fromLatLngToPoint(e.toGoogle(this.coordType));return h==null?a.Point.ZERO:{x:(h.x-s.x)*o,y:(h.y-l.y)*o}}setDraggable(e){this.innerMap.setOptions({draggable:e})}setDisableDoubleClickZoom(e){this.map.setOptions({disableDoubleClickZoom:e})}getCenter(){return _.fromGoogle(this.map.getCenter()??F.LATLNG_ZERO,this.coordType)}setCenter(e){this.map.setCenter(e.toGoogle(this.coordType))}setMinZoom(e){this.map.setOptions({minZoom:e})}setMaxZoom(e){this.map.setOptions({maxZoom:e})}setMapStyle(e){this.map.setOptions({styles:e.toGoogle()})}setBuildInMapTypeId(e){var n;const r=(n=this.buildInMapTypeId2BIMT.get(e))==null?void 0:n.getGoogleMapTypeId();this.map.setMapTypeId(r??E("理论上来说不可能为空"))}setMapType(e){e instanceof R?this.map.setMapTypeId(e.getGoogleMapTypeId()):(this.map.mapTypes.set(e.id,e.asGoogleMapType()),this.map.setMapTypeId(e.id))}getMapType(){const e=this.map.getMapTypeId()??google.maps.MapTypeId.ROADMAP,r=this.googleMapTypeId2BIMT.get(e);return r||(this.map.mapTypes.get(e).__google_map_type__??E(`实现${e}的asGoogleMapType()时, 忘了给实例设置__google_map_type__?`))}addOverlayMapType(e){this.map.overlayMapTypes.push(e.asGoogleMapType())}removeOverlayMapType(e){a.MVCArrays.remove(this.map.overlayMapTypes,e.asGoogleMapType())}addLayer(e){e.asGoogleLayer().setMap(this.map)}removeLayer(e){e.asGoogleLayer().setMap(null)}panTo(e){this.map.panTo(e.toGoogle(this.coordType))}panBy(e,r){this.map.panBy(e,r)}fitBounds(e,r){this.map.fitBounds(e.toGoogle(this.coordType),r)}getBounds(){const e=this.map.getBounds();return e?A.fromGoogle(e,this.coordType):A.EMPTY}addElementOverlay(e){e.asGoogle().setMap(this.map)}removeElementOverlay(e){e.asGoogle().setMap(null)}addOverlay(e){e.innerOverlay.setMap(this.map)}removeOverlay(e){e.innerOverlay.setMap(null)}addCustomControl(e){e.inner||(e.inner=e.onCreateElement(),this.map.controls[a.ControlPositionConverter.getGoogle().toValue(e.position)].push(e.inner))}removeCustomControl(e){if(e.inner){const r=this.map.controls[a.ControlPositionConverter.getGoogle().toValue(e.position)];a.MVCArrays.remove(r,e.inner)}}createMarkerClusterer(e){return new Yt(this,e)}createAutocomplete(e){return new Zt(this,e)}createSearchBox(e){return new Jt(this,e)}createPlaceService(e){return new Kt(this,e)}}class hi extends Ie{constructor(e,r){var l;super(e);d(this,"map");d(this,"defaultLayers");this.mapOptions=r;const n=rt().here;be.includes(n.version)||E(`不支持${n.version}, HereMap当前只支持如下版本: ${be}`);const s=new H.service.Platform({app_id:n.key.split(",")[0],app_code:n.key.split(",")[1]});this.defaultLayers=s.createDefaultLayers(),this.map=new H.Map(e,this.defaultLayers.normal.map,{zoom:r.zoom,center:(l=r.center)==null?void 0:l.toHere(this.coordType)}),new H.mapevents.Behavior(new H.mapevents.MapEvents(this.map)),H.ui.UI.createDefault(this.map,this.defaultLayers)}setDefaultCursor(e){throw new Error("Method not implemented.")}get innerMap(){return this.map}get coordType(){return V.wgs84}getCenter(){return _.fromHere(this.map.getCenter(),this.coordType)}setCenter(e){this.map.setCenter(e.toHere(this.coordType))}setDraggable(e){throw new Error("Method not implemented.")}setDisableDoubleClickZoom(e){throw new Error("Method not implemented.")}fromContainerPointToLatLng(e){throw new Error("Method not implemented.")}fromLatLngToContainerPoint(e){throw new Error("Method not implemented.")}addElementOverlay(e){throw new Error("Method not implemented.")}removeElementOverlay(e){throw new Error("Method not implemented.")}createInfoBox(e){throw new Error("Method not implemented.")}createLabel(e){throw new Error("Method not implemented.")}fitBounds(e,r){throw new Error("Method not implemented.")}getBounds(){throw new Error("Method not implemented.")}panTo(e){throw new Error("Method not implemented.")}panBy(e,r){throw new Error("Method not implemented.")}setBuildInMapTypeId(e){throw new Error("Method not implemented.")}setMapType(e){throw new Error("Method not implemented.")}getMapType(){throw new Error("Method not implemented.")}addLayer(e){throw new Error("Method not implemented.")}removeLayer(e){throw new Error("Method not implemented.")}setGestureHandling(e){throw new Error("Method not implemented.")}setMinZoom(e){throw new Error("Method not implemented.")}setMaxZoom(e){throw new Error("Method not implemented.")}setMapStyle(e){throw new Error("Method not implemented.")}addOverlay(e){throw new Error("Method not implemented.")}removeOverlay(e){throw new Error("Method not implemented.")}createMarker(e){throw new Error("Method not implemented.")}createMarkerClusterer(e){throw new Error("Method not implemented.")}createInfoWindow(e){throw new Error("Method not implemented.")}createPolyline(e){throw new Error("Method not implemented.")}createPolygon(e){throw new Error("Method not implemented.")}createRectangle(e){throw new Error("Method not implemented.")}createCircle(e){throw new Error("Method not implemented.")}addCustomControl(e){throw new Error("Method not implemented.")}removeCustomControl(e){throw new Error("Method not implemented.")}createMapTypeControl(e){throw new Error("Method not implemented.")}createZoomControl(e){throw new Error("Method not implemented.")}createScaleControl(e){throw new Error("Method not implemented.")}createAutocomplete(e){throw new Error("Method not implemented.")}createSearchBox(e){throw new Error("Method not implemented.")}createPlaceService(e){throw new Error("Method not implemented.")}}var z=(i=>(i.google="google",i.baidu="baidu",i.here="here",i))(z||{});a.TgMapFactory=void 0,(i=>{function t(e,r,n){const s=pt.create(n);switch(e){case"google":return new li(r,s);case"baidu":return new ai(r,s);case"here":return new hi(r,s)}}i.createMap=t})(a.TgMapFactory||(a.TgMapFactory={}));function ci({type:i,config:t}){const e=window,r=di(i);if(e[r])return Promise.resolve();switch(i!==z.here&&!t.key&&E(`请先配置${i}地图的key`),i){case z.google:return{}.VITE_FALSE?(Ur({key:t.key,v:"3.52"}),google.maps.importLibrary("core")):lr(`https://maps.googleapis.com/maps/api/js?key=${t.key}&language=${t.language}&v=${t.version}&libraries=${t.libraries.join(",")}`);case z.baidu:return lr(`https://api.map.baidu.com/api?v=${t.version}&ak=${t.key}`);case z.here:return ge(pe("core",t.version)).then(()=>Promise.all([ge(pe("service",t.version)),ge(pe("mapevents",t.version)),ge(pe("clustering",t.version)),ge(pe("ui",t.version))])).catch(n=>(delete e[r],Promise.reject(n)));default:_e(i)}}function pe(i,t=be[0]){return`https://js.api.here.com/v3/${t}/mapsjs-${i}.js`}function di(i){switch(i){case z.google:return"google";case z.baidu:return"BMap";case z.here:return"H"}}let ui=0;function lr(i,t="callback"){return new Promise((e,r)=>{const n=`__callback${ui++}`;window[n]=e;const s=document.createElement("script");s.src=`${i}&${t}=${n}`,s.onerror=r,document.body.appendChild(s)})}function ge(i){return new Promise((t,e)=>{const r=document.createElement("script");r.src=i,r.onload=t,r.onerror=e,document.body.appendChild(r)})}function N(i,t){return{type:String,default:t,validator:e=>Object.values(i).includes(e)}}function hr(i,t){return{type:String,default:t,validator:e=>i.includes(e)}}function x(i){return{type:i,required:!0}}function y(i,t){return{type:i,default:t}}function pi(i){const t={};return Object.entries(i).forEach(([e,r])=>{const n=`__${e}`;t[e]={get(){const s=this[n];return s===void 0?r:s},set(s){this[n]=s}}}),t}const me={enumerable:!0,configurable:!0,get:Q,set:Q};function cr(i){return Object.keys(i).forEach(t=>{const e=i[t];let r=!1;typeof e=="function"?(me.get=e,me.set=Q,r=!0):typeof e=="object"&&typeof e.get=="function"&&(me.get=e.get,me.set=e.set,r=!0),r&&(i[t]=Object.defineProperty(i,t,me))}),i}function gi(i){return cr(i)}function _t(){return g.createCommentVNode()}function fe(i,t){const e=i.$options[t];if(e)for(const r of e)r.call(i)}function mi(i,t){for(const e of i)if(e.$options.name===t.name)return e}function fi(i,t){if(!i.default)return;const e=i.default();for(const r of e)if((r==null?void 0:r.type).name===t.name)return r}function dr(i,t){const e={},r={},n={};return Object.keys(i).forEach(s=>{s.startsWith("on")?e[a.Strings.pascal2kebab(s.substring(2))]=i[s]:r[s]=i[s]}),t&&Object.keys(t).forEach(s=>{s.startsWith("on")&&(n[a.Strings.pascal2kebab(s.substring(2))]=t[s])}),{binds:r,listeners:e,listenerProps:n}}function G(i,t){return g.computed(()=>dr(i,t))}function L(){return Function}const yi=()=>{let i,t;function e(n){console.log(n),i=n&&n.type,t=Date.now()}function r(n){((n&&n.type)!==i||Date.now()-(t??0)>1e3)&&e(n)}return{eventLog:e,eventLogLess:r}},Ke="$map",se="onCreate",oe="onDestroy",B=g.defineComponent({inject:[Ke],mounted(){fe(this,se)},beforeUnmount(){fe(this,oe)},methods:{recreate(){fe(this,oe),fe(this,se)}},render(){return _t()}}),vi=g.defineComponent({name:"tg-map",provide(){return{[Ke]:g.computed(()=>this.map)}},inheritAttrs:!1,props:{type:N(z,z.google),center:x(_),centerSyncDelay:y(Number,300),currentCenter:y(_),lastCenter:y(_),zoom:x(Number),infoWindowMode:hr(ti),gestureHandling:N(W),minZoom:y(Number),maxZoom:y(Number),mapStyle:y(Object),mapTypeId:N(Dt),mapType:y(Object),hideLogo:y(Boolean),onLoad:L(),"onUpdate:center":L(),"onUpdate:current-center":L(),"onUpdate:last-center":L(),"onUpdate:map-type":L(),"onUpdate:map-type-id":L(),"onUpdate:zoom":L(),onError:L()},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t,i),centerSyncTimeoutId:void 0}},data(){return{map:Me(),isDestroyed:!1}},computed:{propsJson(){return a.Objects.toJsonSafely(this.$props)}},watch:{gestureHandling(i){var t;i&&((t=this.map)==null||t.setGestureHandling(i))},minZoom(i){var t;(t=this.map)==null||t.setMinZoom(i)},maxZoom(i){var t;(t=this.map)==null||t.setMaxZoom(i)},mapStyle(i){var t;(t=this.map)==null||t.setMapStyle(i)},mapTypeId(i){var t;i&&((t=this.map)==null||t.setBuildInMapTypeId(i))},mapType(i){var t;(t=this.map)==null||t.setMapType(i??$.NORMAL)}},async mounted(){const i=this.type;try{await ci({type:i,config:rt()[i]})}catch(n){this.$emit("error",n);return}if(this.isDestroyed){console.warn(`tg-map(type=${i})已销毁, 不需要继续执行`);return}const t=a.TgMapFactory.createMap(i,this.$refs.map,{center:this.center,zoom:this.zoom,infoWindowMode:this.infoWindowMode,gestureHandling:this.gestureHandling,minZoom:this.minZoom,maxZoom:this.maxZoom,mapStyle:this.mapStyle,buildInMapTypeId:this.mapTypeId});if(this.map=g.markRaw(t),this.mapType&&t.setMapType(this.mapType),"ready"in this.attrs.listeners&&console.error("地图载入完成的事件已经从ready改为了load, 请手动修改"),k(this.attrs.listeners,t,["load"]),this.$emit("load",t),g.watch([()=>this.zoom,()=>this.center],([n,s],[l,c])=>{n!==l&&t.setZoom(n),s!==c&&(t.getCenter().equals(s)||t.setCenter(s))}),"update:center"in this.attrs.listenerProps){const n=()=>this.$emit("update:center",t.getCenter());t.addEventListener("center-changed",()=>{this.centerSyncDelay>0?(clearTimeout(this.centerSyncTimeoutId),this.centerSyncTimeoutId=setTimeout(n,this.centerSyncDelay)):n()})}"update:current-center"in this.attrs.listenerProps&&(this.$emit("update:current-center",this.center),t.addEventListener("center-changed",()=>{this.$emit("update:current-center",t.getCenter())})),"update:zoom"in this.attrs.listenerProps&&t.addEventListener("zoom-changed",()=>{this.$emit("update:zoom",t.getZoom())});const e="update:map-type"in this.attrs.listenerProps,r="update:map-type-id"in this.attrs.listenerProps;(e||r)&&t.addEventListener("map-type-changed",()=>{const n=t.getMapType();e&&this.$emit("update:map-type",n),r&&this.$emit("update:map-type-id",n.id)})},unmounted(){this.isDestroyed=!0,this.map&&("update:last-center"in this.attrs.listenerProps&&this.$emit("update:last-center",this.map.getCenter()),"update:center"in this.attrs.listenerProps&&(clearTimeout(this.centerSyncTimeoutId),this.$emit("update:center",this.map.getCenter())))},methods:{}}),un="",j=(i,t)=>{const e=i.__vccOpts||i;for(const[r,n]of t)e[r]=n;return e};function _i(i,t,e,r,n,s){return g.openBlock(),g.createElementBlock("div",g.mergeProps({class:"tg-map"},i.attrs.binds),[g.createElementVNode("div",{ref:"map",class:g.normalizeClass({"tg-map__map":!0,[`tg-map__map--hide-logo-${i.type}`]:i.hideLogo})},null,2),g.createCommentVNode("",!0),i.map?g.renderSlot(i.$slots,"default",{key:1}):g.createCommentVNode("",!0),g.renderSlot(i.$slots,"overlay")],16)}const ur=j(vi,[["render",_i]]);function bi(i){if(i==null)return;let t;if(typeof i=="string"){if(t=+i,Number.isNaN(t))return i}else t=i;return`${t}px`}const Mi=g.defineComponent({name:"tg-map-widget",props:{left:{type:[Number,String],default:null},top:{type:[Number,String],default:null},right:{type:[Number,String],default:null},bottom:{type:[Number,String],default:null}},computed:{topValue(){return this.top==null&&this.bottom==null?0:this.top}},methods:{dimen:bi}}),pn="";function Ci(i,t,e,r,n,s){return g.openBlock(),g.createElementBlock("div",{class:g.normalizeClass(i.$options.name),style:g.normalizeStyle({left:i.dimen(i.left),top:i.dimen(i.topValue),right:i.dimen(i.right),bottom:i.dimen(i.bottom)})},[g.renderSlot(i.$slots,"default")],6)}const Ti=j(Mi,[["render",Ci]]),Oi=g.defineComponent({name:"tg-custom-control",mixins:[B],props:{position:N(I,I.RIGHT_BOTTOM)},setup(){return{control:void 0}},watch:{position(){this.recreate()}},onCreate(){te(this.$parent,ur)||console.warn("请将tg-custom-control放到tg-map中");const{$el:i}=this,t=class extends $t{onCreateElement(){return i}};this.control=new t(this.position),this.$map.addCustomControl(this.control)},onDestroy(){this.$map.removeCustomControl(this.control)}}),gn="";function wi(i,t,e,r,n,s){return g.openBlock(),g.createElementBlock("div",{class:g.normalizeClass(i.$options.name)},[g.renderSlot(i.$slots,"default")],2)}const Ei=j(Oi,[["render",wi]]),Pi=g.defineComponent({name:"tg-map-type-control",mixins:[B],props:{position:N(I,I.TOP_LEFT),type:N(at),mapTypes:y(Array)},setup(){return{control:void 0}},watch:{position(i){this.control.setPosition(i)},type(){this.recreate()},mapTypes:{handler(){this.recreate()},deep:!0}},onCreate(){this.control=this.$map.createMapTypeControl(this),this.$map.addControl(this.control)},onDestroy(){this.$map.removeControl(this.control)}}),Li=g.defineComponent({name:"tg-scale-control",mixins:[B],props:{position:N(I,I.BOTTOM_RIGHT)},setup(){return{control:void 0}},watch:{position(i){this.control.setPosition(i)}},onCreate(){this.control=this.$map.createScaleControl(this),this.$map.addControl(this.control)},onDestroy(){this.$map.removeControl(this.control)}});function pr(){var e;const i=(e=g.getCurrentInstance())==null?void 0:e.type;let t=(i==null?void 0:i.name)??(i==null?void 0:i.__name);if(!t){const r=i==null?void 0:i.__file;r&&(t=ar.basename(r,".vue"))}return t}function gr(){const i=g.inject(Ke);let t,e;return i==null&&E(`<${pr()||"unknown"}>必须作为<tg-map>的子代组件`),{mapRef:i,get map(){return i.value??E("map尚未初始化")},[se](r){g.onMounted(r),t&&E(`${se}只能调用一次`),t=r},[oe](r){g.onBeforeUnmount(r),e&&E(`${oe}只能调用一次`),e=r},recreate(){e==null||e(),t==null||t()}}}const ki=g.defineComponent({name:"tg-zoom-control",props:{position:N(I,I.RIGHT_BOTTOM)},setup(i){let t=void 0;const{map:e,onCreate:r,onDestroy:n}=gr();return r(()=>{t=e.createZoomControl(i),e.addControl(t)}),n(()=>{e.removeControl(t)}),g.watch(()=>i.position,s=>{t.setPosition(s)}),_t}}),Bi=g.defineComponent({name:"tg-marker-clusterer",mixins:[B],props:{gridSize:y(Number),maxZoom:y(Number),minClusterSize:y(Number),averageCenter:y(Boolean),styles:y(Array),stylesIndexCalculator:y(Function),zIndex:y(Number)},setup(){return{clusterer:void 0,markers:[]}},watch:{gridSize(){this.recreate()},maxZoom(){this.recreate()},minClusterSize(){this.recreate()},averageCenter(){this.recreate()},styles:{handler(){this.recreate()},deep:!0},stylesIndexCalculator(){this.recreate()},zIndex(){this.recreate()}},onCreate(){this.clusterer=this.$map.createMarkerClusterer(this)},onDestroy(){this.clusterer.clearMarkers()},methods:{isInitiated(){return this.clusterer!=null},onAddMarker(i){this.markers.push(i),this.isInitiated()&&this.clusterer.addMarker(i)},onRemoveMarker(i){this.isInitiated()&&this.clusterer.removeMarker(i),a.Arrays.remove(this.markers,i)}}});function Si(i,t,e,r,n,s){return g.openBlock(),g.createElementBlock("div",{class:g.normalizeClass(i.$options.name)},[g.renderSlot(i.$slots,"default")],2)}const mr=j(Bi,[["render",Si]]),Ii=g.defineComponent({name:"tg-traffic-layer",mixins:[B],setup(){return{layer:void 0}},watch:{},onCreate(){this.layer=new Fr,this.$map.addLayer(this.layer)},onDestroy(){this.$map.removeLayer(this.layer)}}),Ai=g.defineComponent({name:"tg-circle",mixins:[B],inheritAttrs:!1,props:{center:x(_),radius:x(Number),clickable:y(Boolean),editable:y(Boolean),strokeColor:y(String),strokeOpacity:y(Number),strokeWeight:y(Number),visible:y(Boolean),fillColor:y(String),fillOpacity:y(Number),"onUpdate:center":L(),"onUpdate:radius":L()},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t,i),overlay:void 0,emittedRadius:void 0,emittedCenter:void 0}},watch:{center(i){if(this.emittedCenter!=null){const t=this.emittedCenter;if(this.emittedCenter=void 0,t===g.toRaw(i))return}this.overlay.setCenter(i)},radius(i){if(this.emittedRadius!=null){const t=this.emittedRadius;if(this.emittedRadius=void 0,t===i)return}this.overlay.setRadius(i)},clickable(){this.recreate()},editable(i){this.overlay.setEditable(i)},strokeColor(i){this.overlay.setStrokeColor(i)},strokeOpacity(i){this.overlay.setStrokeOpacity(i)},strokeWeight(i){this.overlay.setStrokeWeight(i)},fillColor(i){this.overlay.setFillColor(i)},fillOpacity(i){this.overlay.setFillOpacity(i)},visible(i){this.overlay.setVisible(i)}},onCreate(){this.overlay=this.$map.createCircle(this),this.$map.addOverlay(this.overlay),k(this.attrs.listeners,this.overlay),"update:center"in this.attrs.listenerProps&&this.overlay.addEventListener("center-changed",()=>{this.$emit("update:center",this.emittedCenter=this.overlay.getCenter())}),"update:radius"in this.attrs.listenerProps&&this.overlay.addEventListener("radius-changed",()=>{this.$emit("update:radius",this.emittedRadius=this.overlay.getRadius())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),mn="";var bt=(i=>(i.map="map",i.overlay="overlay",i.overlayMouseTarget="overlayMouseTarget",i.float="float",i))(bt||{});class xi{constructor(t,e){d(this,"baidu");d(this,"google");d(this,"projection");d(this,"element",void 0);d(this,"mapPane");this.map=t,this.mapPane=e.mapPane}create(){return this.element=this.onCreate(),this.element.className+=" element-overlay",this.element}draw(){this.projection&&this.onDraw(this.projection)}getProjection(){return this.projection}asBaidu(){if(!this.baidu){const t=this;sr();class e extends BMap.OverlayV3{initialize(s){const l=t.create(),c=s.getPanes();let o;switch(t.mapPane){case"float":o=c.floatPane;break;case"overlayMouseTarget":o=c.markerMouseTarget;break;case"overlay":o=c.markerPane;break;case"map":o=c.mapPane;break;default:_e(t.mapPane);break}return o==null||o.appendChild(l),l}draw(){t.draw()}}this.baidu=new e;const r=t.map.innerMap;this.projection={fromLatLngToOverlayPoint(n){return r.pointToOverlayPixel(n.toBaidu(t.map.coordType))},fromOverlayPointToLatLng(n){return _.fromBaidu(r.overlayPixelToPoint(new BMap.Pixel(n.x,n.y)),t.map.coordType)}}}return this.baidu}asGoogle(){if(!this.google){const t=this;class e extends google.maps.OverlayView{onAdd(){const n=t.create(),s=this.getPanes()??E("onAdd回调中一定会有panes");let l;switch(t.mapPane){case"float":l=s.floatPane;break;case"overlayMouseTarget":l=s.overlayMouseTarget;break;case"overlay":l=s.overlayLayer;break;case"map":l=s.mapPane;break;default:_e(t.mapPane);break}l.appendChild(n)}draw(){t.draw()}onRemove(){var n;(n=t.element.parentNode)==null||n.removeChild(t.element)}}this.google=new e,this.projection={fromLatLngToOverlayPoint(r){return t.google.getProjection().fromLatLngToDivPixel(r.toGoogle(t.map.coordType))??a.Point.ZERO},fromOverlayPointToLatLng(r){return _.fromGoogle(t.google.getProjection().fromDivPixelToLatLng(new google.maps.Point(r.x,r.y))??F.LATLNG_ZERO,t.map.coordType)}}}return this.google}}class Ri extends xi{constructor(t,e,r,n){super(t,e),this.content=r,this.position=n}onCreate(){return this.content}onDraw(t){const e=t.fromLatLngToOverlayPoint(this.position);this.content.style.left=e.x+"px",this.content.style.top=e.y+"px"}setPosition(t){this.position=t,this.draw()}}const $i=g.defineComponent({name:"tg-element-overlay",mixins:[B],props:{mapPane:N(bt,bt.overlayMouseTarget),position:x(_)},setup(){return{overlay:void 0}},watch:{position(i){this.overlay.setPosition(i)},mapPane(){this.recreate()}},methods:{content(){return this.$el}},onCreate(){this.overlay=new Ri(this.$map,this,this.content(),this.position),this.$map.addElementOverlay(this.overlay)},onDestroy(){this.$map.removeElementOverlay(this.overlay)}}),fn="";function Di(i,t,e,r,n,s){return g.openBlock(),g.createElementBlock("div",g.mergeProps({class:i.$options.name},i.$attrs),[g.renderSlot(i.$slots,"default")],16)}const zi=j($i,[["render",Di]]),Ni=g.defineComponent({name:"tg-marker",mixins:[B],inheritAttrs:!1,props:{position:x(_),title:y(String),icon:y(Object),clickable:y(Boolean),draggable:y(Boolean),crossOnDrag:y(Boolean),cursor:y(String),zIndex:y(Number),visible:y(Boolean),"onUpdate:position":L()},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t,i),marker:void 0,label:Me(),info:Me(),emittedPosition:void 0}},watch:{position(i){if(this.emittedPosition!=null){const t=this.emittedPosition;if(this.emittedPosition=void 0,t===g.toRaw(i))return}this.marker.setPosition(i)},title(i){this.marker.setTitle(i)},icon(i){i?this.marker.setIcon(i):this.recreate()},clickable(i){this.marker instanceof ne?this.recreate():this.marker.setClickable(i)},draggable(i){this.marker.setDraggable(i)},crossOnDrag(){this.recreate()},cursor(){this.recreate()},zIndex(i){this.marker instanceof ne?this.recreate():this.marker.setZIndex(i)},visible(i){this.marker.setVisible(i)}},onCreate(){this.marker=this.$map.createMarker(this),this.label&&this.marker.setLabel(this.label.overlay),this.$clusterer()?this.$clusterer().onAddMarker(this.marker):this.$map.addOverlay(this.marker),this.info&&this.info.show&&this.info.overlay.open(this.marker),k(this.attrs.listeners,this.marker),"update:position"in this.attrs.listenerProps&&this.marker.addEventListener("dragend",i=>{this.$emit("update:position",this.emittedPosition=i.position)})},onDestroy(){this.$clusterer()?this.$clusterer().onRemoveMarker(this.marker):this.$map.removeOverlay(this.marker)},methods:{$clusterer(){return te(this.$parent,mr)},onAddLabel(i){this.label=i,this.marker&&this.marker.setLabel(i.overlay)},onRemoveLabel(i){this.marker.setLabel(void 0),this.label=void 0},onAddInfo(i){this.info=i,this.marker&&i.show&&i.overlay.open(this.marker)},onRemoveInfo(i){i.overlay.close(),this.info=void 0},onInfoShowChanged(i,t){t?i.overlay.open(this.marker):i.overlay.close()}}});function Gi(i,t,e,r,n,s){return g.openBlock(),g.createElementBlock("div",g.mergeProps({class:i.$options.name},i.attrs.binds),[g.renderSlot(i.$slots,"default")],16)}const Xe=j(Ni,[["render",Gi]]),Zi=g.defineComponent({name:"tg-info-box",mixins:[B],inheritAttrs:!1,props:{show:x(Boolean),position:y(_),offset:y(Object),maxWidth:y(Number),borderClass:y(String),zIndex:y(Number),"onUpdate:show":L()},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t,i),overlay:void 0}},watch:{show(i){this.$marker()?this.$marker().onInfoShowChanged(this,i):i?this.overlay.open():this.overlay.close()},position(i){this.overlay.setPosition(i)},offset(){this.recreate()},maxWidth(i){this.overlay.setMaxWidth(i)},borderClass(){this.recreate()},zIndex(i){this.overlay.setZIndex(i)}},onCreate(){this.overlay=this.$map.createInfoBox(this.getOptions()),this.$marker()?this.$marker().onAddInfo(this):this.show&&this.overlay.open(),"update:show"in this.attrs.listenerProps&&this.overlay.addEventListener("closeclick",()=>{this.$emit("update:show",!1)}),k(this.attrs.listeners,this.overlay)},onDestroy(){this.$marker()?this.$marker().onRemoveInfo(this):this.overlay.close()},methods:{getOptions(){return{content:this.content(),position:this.position,offset:this.offset,zIndex:this.zIndex,maxWidth:this.maxWidth,borderClass:this.borderClass}},content(){return this.$el},$marker(){return te(this.$parent,Xe)},open(i){this.overlay.open(i)},close(){this.overlay.close()}}}),yn="";function Wi(i,t,e,r,n,s){return g.openBlock(),g.createElementBlock("div",g.mergeProps({class:i.$options.name},i.attrs.binds),[g.renderSlot(i.$slots,"default")],16)}const ji=j(Zi,[["render",Wi]]),Hi=g.defineComponent({name:"tg-info-window",mixins:[B],inheritAttrs:!1,props:{show:x(Boolean),position:y(_),maxWidth:y(Number),offset:y(Object),disableAutoPan:y(Boolean),"onUpdate:show":L()},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t,i),overlay:void 0}},watch:{show(i){this.$marker()?this.$marker().onInfoShowChanged(this,i):i?this.overlay.open():this.overlay.close()},position(i){this.overlay.setPosition(i)},maxWidth(){this.recreate()},offset(){this.recreate()},disableAutoPan(){this.recreate()}},methods:{content(){return this.$el},$marker(){return te(this.$parent,Xe)},getOptions(){return{content:this.content(),position:this.position,maxWidth:this.maxWidth,offset:this.offset,disableAutoPan:this.disableAutoPan}}},onCreate(){this.overlay=this.$map.createInfoWindow(this.getOptions()),this.$marker()?this.$marker().onAddInfo(this):this.show&&this.overlay.open(),this.overlay.addEventListener("open",()=>{this.$emit("update:show",!0)}),this.overlay.addEventListener("close",()=>{this.$emit("update:show",!1)}),k(this.attrs.listeners,this.overlay)},onDestroy(){this.$marker()?this.$marker().onRemoveInfo(this):this.overlay.close()}});function Vi(i,t,e,r,n,s){return g.withDirectives((g.openBlock(),g.createElementBlock("div",g.mergeProps({class:i.$options.name},i.attrs.binds),[g.renderSlot(i.$slots,"default")],16)),[[g.vShow,i.show]])}const Fi=j(Hi,[["render",Vi]]),Ui=g.defineComponent({name:"tg-label",mixins:[B],inheritAttrs:!1,props:{position:y(_),offset:y(Object),zIndex:y(Number)},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t),overlay:void 0}},watch:{position(i){this.overlay.setPosition(i)},offset(i){this.overlay.setOffset(i)},zIndex(i){this.overlay.setZIndex(i)},visible(i){this.overlay.setVisible(i)}},methods:{content(){return this.$el},marker(){var i;return(i=this.$marker())==null?void 0:i.marker},$marker(){return te(this.$parent,Xe)},getOptions(){return{content:this.content(),position:this.position,offset:this.offset,zIndex:this.zIndex}}},onCreate(){this.overlay=this.$map.createLabel(this.getOptions()),this.$marker()?this.$marker().onAddLabel(this):this.$map.addOverlay(this.overlay),k(this.attrs.listeners,this.overlay)},onDestroy(){this.$marker()?this.$marker().onRemoveLabel(this):this.$map.removeOverlay(this.overlay)}}),vn="";function qi(i,t,e,r,n,s){return g.openBlock(),g.createElementBlock("div",g.mergeProps({class:i.$options.name},i.attrs.binds),[g.renderSlot(i.$slots,"default")],16)}const Yi=j(Ui,[["render",qi]]),Ki=g.defineComponent({name:"tg-polygon",mixins:[B],inheritAttrs:!1,props:{paths:x(Array),clickable:y(Boolean),editable:y(Boolean),strokeColor:y(String),strokeOpacity:y(Number),strokeWeight:y(Number),visible:y(Boolean),fillColor:y(String),fillOpacity:y(Number),"onUpdate:paths":L()},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t,i),overlay:void 0,emittedPaths:void 0}},watch:{paths:{handler(i){if(this.emittedPaths!=null){const t=this.emittedPaths;if(this.emittedPaths=void 0,t.length===i.length&&t.every((e,r)=>e===g.toRaw(i[r])))return}this.overlay.setPaths(i)},deep:!0},clickable(){this.recreate()},editable(i){this.overlay.setEditable(i)},strokeColor(i){this.overlay.setStrokeColor(i)},strokeOpacity(i){this.overlay.setStrokeOpacity(i)},strokeWeight(i){this.overlay.setStrokeWeight(i)},fillColor(i){this.overlay.setFillColor(i)},fillOpacity(i){this.overlay.setFillOpacity(i)},visible(i){this.overlay.setVisible(i)}},onCreate(){this.overlay=this.$map.createPolygon(this),this.$map.addOverlay(this.overlay),k(this.attrs.listeners,this.overlay),"update:paths"in this.attrs.listenerProps&&this.overlay.addEventListener("paths-edited",()=>{this.$emit("update:paths",this.emittedPaths=this.overlay.getPaths())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),Xi=g.defineComponent({name:"tg-polyline",mixins:[B],inheritAttrs:!1,props:{path:x(Array),clickable:y(Boolean),editable:y(Boolean),strokeColor:y(String),strokeOpacity:y(Number),strokeWeight:y(Number),visible:y(Boolean),"onUpdate:path":L()},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t,i),overlay:void 0,emittedPath:void 0}},watch:{path:{handler(i){if(this.emittedPath!=null){const t=this.emittedPath;if(this.emittedPath=void 0,t===g.toRaw(i))return}this.overlay.setPath(i)},deep:!0},clickable(){this.recreate()},editable(i){this.overlay.setEditable(i)},strokeColor(i){this.overlay.setStrokeColor(i)},strokeOpacity(i){this.overlay.setStrokeOpacity(i)},strokeWeight(i){this.overlay.setStrokeWeight(i)},visible(i){this.overlay.setVisible(i)}},onCreate(){this.overlay=this.$map.createPolyline(this),this.$map.addOverlay(this.overlay),k(this.attrs.listeners,this.overlay),"update:path"in this.attrs.listenerProps&&this.overlay.addEventListener("path-edited",()=>{this.$emit("update:path",this.emittedPath=this.overlay.getPath())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),Ji=g.defineComponent({name:"tg-rectangle",mixins:[B],inheritAttrs:!1,props:{bounds:x(Object),clickable:y(Boolean),editable:y(Boolean),strokeColor:y(String),strokeOpacity:y(Number),strokeWeight:y(Number),visible:y(Boolean),fillColor:y(String),fillOpacity:y(Number),"onUpdate:bounds":L()},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t,i),overlay:void 0,emittedBounds:void 0}},watch:{bounds(i){if(this.emittedBounds!=null){const t=this.emittedBounds;if(this.emittedBounds=void 0,t.equals(i))return}this.overlay.setBounds(i)},clickable(){this.recreate()},editable(i){this.overlay.setEditable(i)},strokeColor(i){this.overlay.setStrokeColor(i)},strokeOpacity(i){this.overlay.setStrokeOpacity(i)},strokeWeight(i){this.overlay.setStrokeWeight(i)},fillColor(i){this.overlay.setFillColor(i)},fillOpacity(i){this.overlay.setFillOpacity(i)},visible(i){this.overlay.setVisible(i)}},onCreate(){this.overlay=this.$map.createRectangle(this),this.$map.addOverlay(this.overlay),k(this.attrs.listeners,this.overlay),"update:bounds"in this.attrs.listenerProps&&this.overlay.addEventListener("bounds-changed",()=>{this.$emit("update:bounds",this.emittedBounds=this.overlay.getBounds())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),Qi=["beforeUpdate","updated"],en={install(i,t={}){if(t.enable!==!1){const e=g.defineComponent({beforeCreate(){const r=pr()??"",s=(t.nameRegex||/^[A-Z]/).test(r)?l=>{t.hookNames?t.hookNames.includes(l)&&console.debug("[lifecycle]",r,l):Qi.includes(l)||console.debug("[lifecycle]",r,l)}:Q;s("beforeCreate"),this.__life_impl=s},created(){this.__life("created")},beforeMount(){this.__life("beforeMount")},mounted(){this.__life("mounted")},beforeUpdate(){this.__life("beforeUpdate")},updated(){this.__life("updated")},beforeUnmount(){this.__life("beforeUnmount")},unmounted(){this.__life("unmounted")},methods:{__life(r){this.__life_impl(r)}},onCreate(){this.__life("onCreate")},onDestroy(){this.__life("onDestroy")}});i.mixin(e)}}},tn=6378137;function ye(i){return i*Math.PI/180}function fr(i){return i*180/Math.PI}function rn(i,t){if(i.lat===t.lat&&i.lng===t.lng)return 0;const e=ye((i.lat+t.lat)/2),r=ye((i.lat-t.lat)/2),n=ye((i.lng-t.lng)/2);let s=Math.sin(r),l=Math.sin(n),c=Math.sin(e);const o=tn,h=1/298.257;s=s*s,l=l*l,c=c*c;const u=s*(1-l)+(1-c)*l,p=(1-s)*(1-l)+c*l,m=Math.atan(Math.sqrt(u/p)),C=Math.sqrt(u*p)/m,M=2*m*o,T=(3*C-1)/2/p,f=(3*C+1)/2/u;return M*(1+h*(T*c*(1-s)-f*(1-c)*s))}function yr(i,t,e){const n=63567523142e-4,s=1/298.257223563,l=ye(t),c=Math.sin(l),o=Math.cos(l),h=(1-s)*Math.tan(ye(i.lat)),u=1/Math.sqrt(1+h*h),p=h*u,m=Math.atan2(h,o),C=u*c,M=1-C*C,T=M*(6378137*6378137-n*n)/(n*n),f=1+T/16384*(4096+T*(-768+T*(320-175*T))),v=T/1024*(256+T*(-128+T*(74-47*T)));let b=0,w=0,S=0,P=e/(n*f),X=2*Math.PI;for(;Math.abs(P-X)>1e-12;){b=Math.cos(2*m+P),w=Math.sin(P),S=Math.cos(P);const ln=v*w*(b+v/4*(S*(-1+2*b*b)-v/6*b*(-3+4*w*w)*(-3+4*b*b)));X=P,P=e/(n*f)+ln}const le=p*w-u*S*o,Ct=Math.atan2(p*S+u*w*o,(1-s)*Math.sqrt(C*C+le*le)),on=Math.atan2(w*c,u*S-p*w*o),Tt=s/16*M*(4+s*(4-3*M)),an=on-(1-Tt)*s*C*(P+Tt*w*(b+Tt*S*(-1+2*b*b)));return{lng:i.lng+fr(an),lat:fr(Ct)}}const nn={getDistance:rn,getDestination:yr},sn={install(i,t){Bt(t),i.config.unwrapInjectedRef=!0;const e=i.config.optionMergeStrategies;e[se]=e[oe]=(r,n)=>r?[...new Set([].concat(r,n))]:Array.isArray(n)?n:[n]}};a.AbstractControl=ot,a.AbstractMap=Ie,a.Autocomplete=lt,a.BaiduAutocomplete=Wt,a.BaiduCircle=Re,a.BaiduControl=Te,a.BaiduInfoBoxOverlay=Ge,a.BaiduInfoWindow=ze,a.BaiduMapTypeControl=we,a.BaiduMarker=ne,a.BaiduMarkerClusterer=qt,a.BaiduOverlay=de,a.BaiduPlacesService=Xt,a.BaiduPolyShape=je,a.BaiduPolygon=Fe,a.BaiduPolyline=He,a.BaiduRectangle=qe,a.BaiduScaleControl=Ee,a.BaiduSearchBox=Qt,a.BaiduZoomControl=Le,a.CachedValue=st,a.ControlPosition=I,a.CoordType=V,a.CustomControl=$t,a.FastFindValues=Rt,a.GoogleAutocomplete=Zt,a.GoogleCircle=$e,a.GoogleControl=Oe,a.GoogleInfoBoxOverlay=Ze,a.GoogleInfoWindow=Ne,a.GoogleMapTypeControl=ce,a.GoogleMarker=We,a.GoogleMarkerClusterer=Yt,a.GoogleOverlay=Ae,a.GooglePlacesService=Kt,a.GooglePolygon=Ue,a.GooglePolyline=Ve,a.GoogleRectangle=Ye,a.GoogleScaleControl=Pe,a.GoogleSearchBox=Jt,a.GoogleZoomControl=ke,a.InfoWindow=De,a.KeyValue=nt,a.LatLng=_,a.LatLngBounds=A,a.LifecycleLogPlugin=en,a.MIXIN_HOOK_CREATE=se,a.MIXIN_HOOK_DESTROY=oe,a.MIXIN_MAP_NAME=Ke,a.MapMixin=B,a.MapTypeControlType=at,a.MapZoom=er,a.MarkerClusterer=ct,a.Overlay=gt,a.PlacesService=dt,a.SearchBox=ut,a.SphericalUtils=nn,a.SymbolPath=oi,a.TgCircle=Ai,a.TgCustomControl=Ei,a.TgElementOverlay=zi,a.TgInfoBox=ji,a.TgInfoWindow=Fi,a.TgLabel=Yi,a.TgMap=ur,a.TgMapType=z,a.TgMapTypeControl=Pi,a.TgMapWidget=Ti,a.TgMarker=Xe,a.TgMarkerClusterer=mr,a.TgPolygon=Ki,a.TgPolyline=Xi,a.TgRectangle=Ji,a.TgScaleControl=Li,a.TgTrafficLayer=Ii,a.TgZoomControl=ki,a.UnionIcon=ue,a.assert=U,a.assertNever=_e,a.callHook=fe,a.computedSaveOnThis=pi,a.createEmptyVNode=_t,a.createPropertyObject=cr,a.createPropertyObjectTyped=gi,a.debug=Tr,a.default=sn,a.eventProp=L,a.extractVNodeFromSlotsByComponent=fi,a.findByComponentType=mi,a.getDestination=yr,a.getTgMapConfig=rt,a.isDef=Or,a.isInstanceOf=Zr,a.lateinit=Gr,a.noop=Q,a.optionalProp=y,a.path=ar,a.requiredProp=x,a.safeAs=Wr,a.safeAsComponent=te,a.setTgMapConfig=Bt,a.splitAttrs=dr,a.stringEnumProp=N,a.stringUnionPropFromValues=hr,a.throwError=E,a.throwUnsupported=et,a.todo=Cr,a.typed=Me,a.unwrapStringEnumValue=jr,a.useEventLogMethods=yi,a.useSplittedAttrs=G,a.useTgMap=gr,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
17
+ `))}},1)}const n=this.innerOverlay.getOffset();let s=n.width,l=n.height;this.iconAnchor&&(s-=this.iconAnchor.width,l-=this.iconAnchor.height),r&&(s+=r.width,l+=r.height),this.innerOverlay.setOffset(new BMap.Size(s,l)),this.icon=e,this.iconAnchor=r}}class vt extends Ae{static create(t){var n;const e=this.coordType,r=ni(ie.toElement(t.content),(n=t.position)==null?void 0:n.toGoogle(e),t.offset,t.zIndex);return new vt(r,e,this)}setZIndex(t){this.innerOverlay.setZIndex(t)}setContent(t){this.innerOverlay.setElement(ie.toElement(t))}getPosition(){const t=this.innerOverlay.getPosition();return t?_.fromGoogle(t,this.coordType):_.ZERO}setPosition(t){this.coordType=this.map.coordType,this.innerOverlay.setPosition(t.toGoogle(this.coordType))}getOffset(){return this.innerOverlay.getOffset()??a.Point.ZERO}setOffset(t){this.innerOverlay.setOffset(t)}}const ue={toGoogle:i=>"url"in i?a.Icon.toGoogle(i):a.SymbolIcon.toGoogle(i),toBaidu:i=>"url"in i?a.Icon.toBaidu(i):a.SymbolIcon.toBaidu(i)};a.Icon=void 0,(i=>{function t(r){return{url:r.url,size:new google.maps.Size(r.size.width,r.size.height),origin:r.origin&&new google.maps.Point(r.origin.x,r.origin.y),scaledSize:r.scaledSize&&new google.maps.Size(r.scaledSize.width,r.scaledSize.height),anchor:r.anchor&&new google.maps.Point(r.anchor.x,r.anchor.y)}}i.toGoogle=t;function e(r){return new BMap.Icon(r.url,new BMap.Size(r.size.width,r.size.height),{imageOffset:r.origin&&new BMap.Size(-r.origin.x,-r.origin.y),imageSize:r.scaledSize&&new BMap.Size(r.scaledSize.width,r.scaledSize.height),anchor:r.anchor?new BMap.Size(r.anchor.x,r.anchor.y):new BMap.Size(r.size.width/2,r.size.height)})}i.toBaidu=e})(a.Icon||(a.Icon={})),a.SymbolIcon=void 0,(i=>{function t(r){return{path:typeof r.path=="string"?r.path:r.path.google(),anchor:r.anchor&&new google.maps.Point(r.anchor.x,r.anchor.y),fillColor:r.fillColor,fillOpacity:r.fillOpacity,scale:r.scale,rotation:r.rotation,strokeColor:r.strokeColor,strokeOpacity:r.strokeOpacity,strokeWeight:r.strokeWeight}}i.toGoogle=t;function e(r){const n=new BMap.Symbol(typeof r.path=="string"?r.path:r.path.baidu(),{anchor:r.anchor&&new BMap.Size(r.anchor.x,r.anchor.y),fillColor:r.fillColor,fillOpacity:r.fillOpacity,scale:r.scale,rotation:r.rotation,strokeColor:r.strokeColor,strokeOpacity:r.strokeOpacity,strokeWeight:r.strokeWeight});return n.__icon__=r,n}i.toBaidu=e})(a.SymbolIcon||(a.SymbolIcon={}));const oi={CIRCLE:{baidu:()=>BMap_Symbol_SHAPE_CIRCLE,google:()=>google.maps.SymbolPath.CIRCLE},BACKWARD_CLOSED_ARROW:{baidu:()=>BMap_Symbol_SHAPE_BACKWARD_CLOSED_ARROW,google:()=>google.maps.SymbolPath.BACKWARD_CLOSED_ARROW},BACKWARD_OPEN_ARROW:{baidu:()=>BMap_Symbol_SHAPE_BACKWARD_OPEN_ARROW,google:()=>google.maps.SymbolPath.BACKWARD_OPEN_ARROW},FORWARD_CLOSED_ARROW:{baidu:()=>BMap_Symbol_SHAPE_FORWARD_CLOSED_ARROW,google:()=>google.maps.SymbolPath.FORWARD_CLOSED_ARROW},FORWARD_OPEN_ARROW:{baidu:()=>BMap_Symbol_SHAPE_FORWARD_OPEN_ARROW,google:()=>google.maps.SymbolPath.FORWARD_OPEN_ARROW}};class ne extends de{constructor(t,e,r,n){super(t,e,r),this.state=n}static create(t){const e=this.coordType,r=t.icon,n={title:t.title,icon:r&&ue.toBaidu(r),enableClicking:t.clickable,enableDragging:t.draggable,raiseOnDrag:t.crossOnDrag===void 0?!0:t.crossOnDrag,draggingCursor:t.cursor},s=new BMap.Marker(t.position.toBaidu(e),n);t.zIndex!==void 0&&s.setZIndex(t.zIndex);const l=t.clickable===void 0?!0:t.clickable,c=!!t.draggable;return new ne(s,e,this,{clickable:l,draggable:c,zIndex:t.zIndex}).visibleOptionInternal(t.visible)}getPosition(){return _.fromBaidu(this.innerOverlay.getPosition(),this.coordType)}setPosition(t){var e;this.coordType=this.map.coordType,this.innerOverlay.setPosition(t.toBaidu(this.coordType)),(e=this.innerOverlay.__info_box__)==null||e.onMarkerPositionChanged()}setTitle(t){this.innerOverlay.setTitle(t)}getTitle(){return this.innerOverlay.getTitle()}setIcon(t){const e=ue.toBaidu(t);this.innerOverlay.setIcon(e);const r=this.getLabel();r&&r.attachIcon(e)}getIcon(){return this.innerOverlay.getIcon()}setClickable(t){this.state.clickable=t}isClickable(){return this.state.clickable}setDraggable(t){this.state.draggable=t,t?this.innerOverlay.enableDragging():this.innerOverlay.disableDragging()}isDraggable(){return this.state.draggable}setZIndex(t){this.state.zIndex=t,this.innerOverlay.setZIndex(t||0)}getZIndex(){return this.state.zIndex}setLabel(t){const e=this.getLabel();e&&e.attachIcon(void 0),t&&t.attachIcon(this.innerOverlay.getIcon()),this.innerOverlay.setLabel(t==null?void 0:t.innerOverlay)}getLabel(){var t;return(t=this.innerOverlay.getLabel())==null?void 0:t.__label__}}class We extends Ae{constructor(){super(...arguments);d(this,"label");d(this,"labelPositionListener");d(this,"labelVisibleListener");d(this,"labelMapChangedListener")}static create(e){const r=this.coordType,n=e.icon,s={position:e.position.toGoogle(r),title:e.title,zIndex:e.zIndex,visible:e.visible,icon:n&&ue.toGoogle(n),clickable:e.clickable,draggable:e.draggable,crossOnDrag:e.crossOnDrag,cursor:e.cursor,anchorPoint:new google.maps.Point(0,0)};return new We(new google.maps.Marker(s),r,this)}getPosition(){return _.fromGoogle(this.innerOverlay.getPosition(),this.coordType)}setPosition(e){this.coordType=this.map.coordType,this.innerOverlay.setPosition(e.toGoogle(this.coordType))}setTitle(e){this.innerOverlay.setTitle(e)}getTitle(){return this.innerOverlay.getTitle()||""}setIcon(e){this.innerOverlay.setIcon(ue.toGoogle(e))}getIcon(){return this.innerOverlay.getIcon()}setClickable(e){this.innerOverlay.setClickable(e)}isClickable(){return this.innerOverlay.getClickable()}setDraggable(e){this.innerOverlay.setDraggable(e)}isDraggable(){return!!this.innerOverlay.getDraggable()}setZIndex(e){this.innerOverlay.setZIndex(e===void 0?null:e)}getZIndex(){const e=this.innerOverlay.getZIndex();return e===null?void 0:e}setLabel(e){if(this.label&&this.map.removeOverlay(this.label),this.labelPositionListener&&this.labelPositionListener.remove(),this.labelVisibleListener&&this.labelVisibleListener.remove(),this.labelMapChangedListener&&this.labelMapChangedListener.remove(),e){const r=()=>{e.innerOverlay.setPosition(this.innerOverlay.getPosition())},n=()=>{e.innerOverlay.setVisible(this.innerOverlay.getVisible())},s=()=>{this.innerOverlay.getMap()?this.map.addOverlay(e):this.map.removeOverlay(e)};s(),r(),n(),this.label=e,this.labelMapChangedListener=this.innerOverlay.addListener("map_changed",s),this.labelPositionListener=this.innerOverlay.addListener("position_changed",r),this.labelVisibleListener=this.innerOverlay.addListener("visible_changed",n)}else this.label=void 0,this.labelPositionListener=void 0,this.labelVisibleListener=void 0,this.labelMapChangedListener=void 0}}class je extends nr{constructor(){super(...arguments);d(this,"eventHubDelegate");d(this,"prevPath");d(this,"isDoingSetPath",!1);d(this,"onLineUpdate",()=>{var r;const e=this.innerOverlay.getPath();e!==this.prevPath&&(this.isDoingSetPath||(r=this.eventHubDelegate)==null||r.notify({type:this.pathEditedEventType,target:this,originalEvent:{prevPath:this.prevPath,path:e}}),this.prevPath=e)})}setPathInternal(e){this.isDoingSetPath=!0,this.innerOverlay.setPath(e),this.isDoingSetPath=!1}createDelegate(){return this.eventHubDelegate=new Ce(super.createDelegate(),{types:[this.pathEditedEventType],onListen:()=>{this.prevPath=this.innerOverlay.getPath(),this.innerOverlay.addEventListener("lineupdate",this.onLineUpdate)},onCancel:()=>{this.innerOverlay.removeEventListener("lineupdate",this.onLineUpdate),this.prevPath=void 0}})}}class He extends je{constructor(){super(...arguments);d(this,"pathEditedEventType","path-edited")}static create(e){const r=this.coordType,n=new BMap.Polyline(e.path.map(s=>s.toBaidu(r)),{enableClicking:e.clickable,enableEditing:e.editable,strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight});return new He(n,r,this,{editable:e.editable===!0}).visibleOptionInternal(e.visible)}getPath(){return this.innerOverlay.getPath().map(e=>_.fromBaidu(e,this.coordType))}setPath(e){this.coordType=this.map.coordType,this.setPathInternal(e.map(r=>r.toBaidu(this.coordType)))}}class Ve extends xe{constructor(){super(...arguments);d(this,"pathChangedListeners");d(this,"eventHubDelegate")}static create(e){const r=this.coordType,n=new google.maps.Polyline({path:e.path.map(s=>s.toGoogle(r)),clickable:e.clickable,editable:e.editable,strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,visible:e.visible});return new Ve(n,r,this)}setupPathChangedListeners(){const e=()=>{var n;return(n=this.eventHubDelegate)==null?void 0:n.notify({type:"path-edited",target:this})},r=this.innerOverlay.getPath();this.pathChangedListeners=a.MVCArrays.listenChanged(r,e)}clearPathChangedListeners(){var e;(e=this.pathChangedListeners)==null||e.forEach(r=>r.remove()),this.pathChangedListeners=void 0}createDelegate(){return this.eventHubDelegate=new Ce(super.createDelegate(),{types:["path-edited"],onListen:()=>this.setupPathChangedListeners(),onCancel:()=>this.clearPathChangedListeners()})}getPath(){const e=[];return this.innerOverlay.getPath().forEach(r=>{e.push(_.fromGoogle(r,this.coordType))}),e}setPath(e){var r;this.coordType=this.map.coordType,this.innerOverlay.setPath(e.map(n=>n.toGoogle(this.coordType))),(r=this.eventHubDelegate)!=null&&r.hasListener("path-edited")&&this.setupPathChangedListeners()}}class Fe extends je{constructor(){super(...arguments);d(this,"pathEditedEventType","paths-edited")}static create(e){const r=this.coordType;e.paths.length>1&&console.warn("baidu不支持多path, 只会显示paths[0]");const n=e.paths[0]||[],s=new BMap.Polygon(n.map(l=>l.toBaidu(r)),{enableClicking:e.clickable,enableEditing:e.editable,strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity});return new Fe(s,r,this,{editable:!!e.editable}).visibleOptionInternal(e.visible)}getPaths(){return[this.innerOverlay.getPath().map(e=>_.fromBaidu(e,this.coordType))]}setPaths(e){e.length>1&&console.warn("baidu不支持多path, 只会显示paths[0]"),this.coordType=this.map.coordType,this.setPathInternal((e[0]||[]).map(r=>r.toBaidu(this.coordType)))}}class Ue extends xe{constructor(){super(...arguments);d(this,"pathChangedListeners");d(this,"eventHubDelegate")}static create(e){const r=this.coordType,n=new google.maps.Polygon({paths:e.paths.map(s=>s.map(l=>l.toGoogle(r))),clickable:e.clickable,editable:e.editable,strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity,visible:e.visible});return new Ue(n,r,this)}setupPathChangedListeners(){const e=()=>{var n;return(n=this.eventHubDelegate)==null?void 0:n.notify({type:"paths-edited",target:this})},r=this.innerOverlay.getPaths();this.pathChangedListeners=[],r.forEach(n=>{this.pathChangedListeners.push(...a.MVCArrays.listenChanged(n,e))})}clearPathChangedListeners(){var e;(e=this.pathChangedListeners)==null||e.forEach(r=>r.remove()),this.pathChangedListeners=void 0}createDelegate(){return this.eventHubDelegate=new Ce(super.createDelegate(),{types:["paths-edited"],onListen:()=>this.setupPathChangedListeners(),onCancel:()=>this.clearPathChangedListeners()})}getPaths(){const e=this.innerOverlay.getPaths(),r=[];return e.forEach(n=>{const s=[];r.push(s),n.forEach(l=>{s.push(_.fromGoogle(l,this.coordType))})}),r}setPaths(e){var r;this.coordType=this.map.coordType,this.innerOverlay.setPaths(e.map(n=>n.map(s=>s.toGoogle(this.coordType)))),(r=this.eventHubDelegate)!=null&&r.hasListener("paths-edited")&&this.setupPathChangedListeners()}}class qe extends je{constructor(e,r,n,s){super(e,r,n,s);d(this,"pathEditedEventType","bounds-changed");d(this,"isDoingUpdateRectangle",!1);d(this,"onBoundsChanged",({originalEvent:e})=>{if(this.isDoingUpdateRectangle)return;const r=e.prevPath??[],n=e.path;setTimeout(()=>{let s=n;const l=n.length;if(r.length===4)if(l>r.length){for(let o=0;o<l;o++)if(r[o]==null||!or.equals(n[o],r[o])){const h=n[(o-2+l)%l],u=n[(o-1+l)%l],p=n[o],m=n[(o+1)%l],C=n[(o+2)%l];let M;u.lat===m.lat?M=new BMap.Point(u.lng,p.lat):u.lng===m.lng?M=new BMap.Point(p.lng,u.lat):M=p,s=[h,C,M];break}}else if(l===r.length){for(let o=0;o<l;o++)if(!or.equals(n[o],r[o])){s=[n[o],n[(o+2)%4]];break}}else l<r.length;const c=A.fromArray(s.map(o=>_.fromBaidu(o,this.coordType)));c&&(this.isDoingUpdateRectangle=!0,this.innerOverlay.setPath(c.toRectArray().map(o=>o.toBaidu(this.coordType))),this.isDoingUpdateRectangle=!1)},0)});this.addEventListener("bounds-changed",this.onBoundsChanged)}static create(e){const r=this.coordType,n=new BMap.Polygon(e.bounds.toRectArray().map(s=>s.toBaidu(r)),{enableClicking:e.clickable,enableEditing:e.editable,strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity});return new qe(n,r,this,{editable:!!e.editable}).visibleOptionInternal(e.visible)}getBounds(){return A.fromBaidu(this.innerOverlay.getBounds(),this.coordType)}setBounds(e){const r=e.toRectArray();this.innerOverlay.getPath().length===r.length?e.toRectArray().forEach((n,s)=>{this.innerOverlay.setPositionAt(s,n.toBaidu(this.coordType))}):this.setPathInternal(r.map(n=>n.toBaidu(this.coordType)))}}class Ye extends xe{static create(t){const e=this.coordType,r=new google.maps.Rectangle({bounds:t.bounds.toGoogle(e),clickable:t.clickable,editable:t.editable,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,visible:t.visible});return new Ye(r,e,this)}getBounds(){return A.fromGoogle(this.innerOverlay.getBounds()??F.BOUNDS_ZERO,this.coordType)}setBounds(t){const e=t.toGoogle(this.coordType);e.equals(this.innerOverlay.getBounds())||this.innerOverlay.setBounds(e)}}const Y=1;class ai extends Ie{constructor(e,r){var n;super(e);d(this,"buildInMapTypeId2BIMT");d(this,"baiduMapType2BIMT");d(this,"map");d(this,"createLabel",yt.create);d(this,"createCircle",Re.create);d(this,"createPolygon",Fe.create);d(this,"createPolyline",He.create);d(this,"createRectangle",qe.create);d(this,"createInfoWindow",ze.create);d(this,"createInfoBox",Ge.create);d(this,"createMarker",ne.create);d(this,"createMapTypeControl",we.create);d(this,"createZoomControl",Le.create);d(this,"createScaleControl",Ee.create);this.buildInMapTypeId2BIMT=$.BUILD_IN_MAP_TYPES.getValueMap(R.prototype.getId),this.baiduMapType2BIMT=$.BUILD_IN_MAP_TYPES.getValueMap(R.prototype.asBaiduMapType),this.map=new BMap.Map(e,{minZoom:r.minZoom&&r.minZoom+Y,maxZoom:r.maxZoom&&r.maxZoom+Y,mapType:r.buildInMapTypeId&&((n=this.buildInMapTypeId2BIMT.get(r.buildInMapTypeId))==null?void 0:n.asBaiduMapType()),enableMapClick:!1}),this.map.centerAndZoom(r.center.toBaidu(this.coordType),r.zoom+Y),this.setGestureHandling(r.gestureHandling),r.infoWindowMode==="multi"&&console.warn("baidu不支持多个InfoWindow, 可能会出现未知问题"),r.mapStyle&&this.map.setMapStyleV2(r.mapStyle.toBaidu()),this.setEventTargetDelegate(new re(this.map,this)),this.map.addEventListener("addoverlay",s=>{const l=s.target.__info_box__;l&&(console.debug("add:info-box",l),this.map.addOverlay(l))}),this.map.addEventListener("removeoverlay",s=>{const l=s.target.__info_box__;l&&(console.debug("remove:info-box",l),this.map.removeOverlay(l))})}setDefaultCursor(e){this.innerMap.setDefaultCursor(e)}setGestureHandling(e=W.auto){switch(e===W.auto&&(e=this.element.parentElement&&it.isScrollable(this.element.parentElement)?W.cooperative:W.greedy),e){case W.cooperative:this.map.disableScrollWheelZoom(),this.map.enableDragging(),this.map.enableDoubleClickZoom();break;case W.greedy:this.map.enableScrollWheelZoom(),this.map.enableDragging(),this.map.enableDoubleClickZoom();break;case W.none:this.map.disableDragging(),this.map.disableScrollWheelZoom(),this.map.disableDoubleClickZoom();break}}get innerMap(){return this.map}get coordType(){return this.getMapType().getBaiduCoordType()}addEventListener(e,r){if(e==="center-changed"){super.addEventListener("movestart",r),super.addEventListener("moving",r),super.addEventListener("moveend",r),super.addEventListener("zoomend",r);return}super.addEventListener(e,r)}removeEventListener(e,r){if(e==="center-changed"){super.removeEventListener("movestart",r),super.removeEventListener("moving",r),super.removeEventListener("moveend",r),super.removeEventListener("zoomend",r);return}super.removeEventListener(e,r)}fromContainerPointToLatLng(e){return _.fromBaidu(this.innerMap.pixelToPoint(new BMap.Pixel(e.x,e.y)),this.coordType)}fromLatLngToContainerPoint(e){return this.innerMap.pointToPixel(e.toBaidu(this.coordType))}setDraggable(e){e?this.innerMap.enableDragging():this.innerMap.disableDragging()}setDisableDoubleClickZoom(e){e?this.map.enableDoubleClickZoom():this.map.disableDoubleClickZoom()}getCenter(){return _.fromBaidu(this.map.getCenter(),this.coordType)}setCenter(e){this.map.setCenter(e.toBaidu(this.coordType))}getZoom(){return super.getZoom()-Y}setZoom(e){return super.setZoom(e+Y)}setMinZoom(e){this.map.setMinZoom(e+Y)}setMaxZoom(e){this.map.setMaxZoom(e+Y)}setMapStyle(e){this.map.setMapStyleV2(e.toBaidu())}setBuildInMapTypeId(e){var n;const r=(n=this.buildInMapTypeId2BIMT.get(e))==null?void 0:n.asBaiduMapType();this.map.setMapType(r??E("理论上来说不可能为空"))}setMapType(e){this.map.setMapType(e.asBaiduMapType())}getMapType(){const e=this.map.getMapType(),r=this.baiduMapType2BIMT.get(e);return r||(e.__baidu_map_type__??E("实现asBaiduMapType()时, 忘了给实例设置__baidu_map_type__?"))}addLayer(e){this.map.addTileLayer(e.asBaiduLayer())}removeLayer(e){this.map.removeTileLayer(e.asBaiduLayer())}panTo(e){this.map.panTo(e.toBaidu(this.coordType))}panBy(e,r){this.map.panBy(e,r)}fitBounds(e,r){this.map.setViewport(e.toBaiduArray(this.coordType),{margins:r&&[r.top,r.right,r.bottom,r.left]})}getBounds(){return A.fromBaidu(this.map.getBounds(),this.coordType)}addElementOverlay(e){this.map.addOverlay(e.asBaidu())}removeElementOverlay(e){this.map.removeOverlay(e.asBaidu())}addOverlay(e){this.map.addOverlay(e.innerOverlay)}removeOverlay(e){this.map.removeOverlay(e.innerOverlay)}addCustomControl(e){if(!e.inner){const r=class extends BMap.Control{constructor(){super(...arguments);d(this,"defaultAnchor",a.ControlPositionConverter.getBaidu().toValue(e.position));d(this,"defaultOffset",new BMap.Size(0,0))}initialize(s){const l=e.onCreateElement();return s.getContainer().appendChild(l),l}};e.inner=new r,this.map.addControl(e.inner)}}removeCustomControl(e){e.inner&&(U(e.inner instanceof BMap.Control,`control.inner(${e.inner})需要是BMap.Control`),this.map.removeControl(e.inner))}createMarkerClusterer(e){return new qt(this,e)}createAutocomplete(e){return new Wt(this,e)}createSearchBox(e){return new Qt(this,e)}createPlaceService(e){return new Xt(this,e)}}class li extends Ie{constructor(e,r){var s;super(e);d(this,"buildInMapTypeId2BIMT");d(this,"googleMapTypeId2BIMT");d(this,"map");d(this,"createLabel",vt.create);d(this,"createCircle",$e.create);d(this,"createPolygon",Ue.create);d(this,"createPolyline",Ve.create);d(this,"createRectangle",Ye.create);d(this,"createInfoWindow",Ne.create);d(this,"createInfoBox",Ze.create);d(this,"createMarker",We.create);d(this,"createMapTypeControl",ce.create);d(this,"createZoomControl",ke.create);d(this,"createScaleControl",Pe.create);this.mapOptions=r,this.buildInMapTypeId2BIMT=$.BUILD_IN_MAP_TYPES.getValueMap(R.prototype.getId),this.googleMapTypeId2BIMT=$.BUILD_IN_MAP_TYPES.getValueMap(R.prototype.getGoogleMapTypeId);const n=r.buildInMapTypeId&&this.buildInMapTypeId2BIMT.get(r.buildInMapTypeId);this.map=new google.maps.Map(e,{center:r.center.toGoogle((n??$.NORMAL).getGoogleCoordType()),zoom:r.zoom,disableDefaultUI:!0,streetViewControl:!0,gestureHandling:r.gestureHandling,minZoom:r.minZoom,maxZoom:r.maxZoom,styles:(s=r.mapStyle)==null?void 0:s.toGoogle(),mapTypeId:n==null?void 0:n.getGoogleMapTypeId()}),this.setEventTargetDelegate(new q(this.map,this))}setDefaultCursor(e){this.innerMap.setOptions({draggableCursor:e})}setGestureHandling(e){this.map.setOptions({gestureHandling:e})}get innerMap(){return this.map}get coordType(){return this.getMapType().getGoogleCoordType()}fromContainerPointToLatLng(e){const r=this.innerMap.getProjection(),n=this.innerMap.getBounds();if(r==null||n==null)return _.ZERO;const s=r.fromLatLngToPoint(n.getSouthWest()),l=r.fromLatLngToPoint(n.getNorthEast()),c=this.innerMap.getZoom();if(s==null||l==null||c==null)return _.ZERO;const o=Math.pow(2,c),h=new google.maps.Point(e.x/o+s.x,e.y/o+l.y);return _.fromGoogle(r.fromPointToLatLng(h)??F.LATLNG_ZERO,this.coordType)}fromLatLngToContainerPoint(e){const r=this.innerMap.getProjection(),n=this.innerMap.getBounds();if(r==null||n==null)return a.Point.ZERO;const s=r.fromLatLngToPoint(n.getSouthWest()),l=r.fromLatLngToPoint(n.getNorthEast()),c=this.innerMap.getZoom();if(s==null||l==null||c==null)return a.Point.ZERO;const o=Math.pow(2,c),h=r.fromLatLngToPoint(e.toGoogle(this.coordType));return h==null?a.Point.ZERO:{x:(h.x-s.x)*o,y:(h.y-l.y)*o}}setDraggable(e){this.innerMap.setOptions({draggable:e})}setDisableDoubleClickZoom(e){this.map.setOptions({disableDoubleClickZoom:e})}getCenter(){return _.fromGoogle(this.map.getCenter()??F.LATLNG_ZERO,this.coordType)}setCenter(e){this.map.setCenter(e.toGoogle(this.coordType))}setMinZoom(e){this.map.setOptions({minZoom:e})}setMaxZoom(e){this.map.setOptions({maxZoom:e})}setMapStyle(e){this.map.setOptions({styles:e.toGoogle()})}setBuildInMapTypeId(e){var n;const r=(n=this.buildInMapTypeId2BIMT.get(e))==null?void 0:n.getGoogleMapTypeId();this.map.setMapTypeId(r??E("理论上来说不可能为空"))}setMapType(e){e instanceof R?this.map.setMapTypeId(e.getGoogleMapTypeId()):(this.map.mapTypes.set(e.id,e.asGoogleMapType()),this.map.setMapTypeId(e.id))}getMapType(){const e=this.map.getMapTypeId()??google.maps.MapTypeId.ROADMAP,r=this.googleMapTypeId2BIMT.get(e);return r||(this.map.mapTypes.get(e).__google_map_type__??E(`实现${e}的asGoogleMapType()时, 忘了给实例设置__google_map_type__?`))}addOverlayMapType(e){this.map.overlayMapTypes.push(e.asGoogleMapType())}removeOverlayMapType(e){a.MVCArrays.remove(this.map.overlayMapTypes,e.asGoogleMapType())}addLayer(e){e.asGoogleLayer().setMap(this.map)}removeLayer(e){e.asGoogleLayer().setMap(null)}panTo(e){this.map.panTo(e.toGoogle(this.coordType))}panBy(e,r){this.map.panBy(e,r)}fitBounds(e,r){this.map.fitBounds(e.toGoogle(this.coordType),r)}getBounds(){const e=this.map.getBounds();return e?A.fromGoogle(e,this.coordType):A.EMPTY}addElementOverlay(e){e.asGoogle().setMap(this.map)}removeElementOverlay(e){e.asGoogle().setMap(null)}addOverlay(e){e.innerOverlay.setMap(this.map)}removeOverlay(e){e.innerOverlay.setMap(null)}addCustomControl(e){e.inner||(e.inner=e.onCreateElement(),this.map.controls[a.ControlPositionConverter.getGoogle().toValue(e.position)].push(e.inner))}removeCustomControl(e){if(e.inner){const r=this.map.controls[a.ControlPositionConverter.getGoogle().toValue(e.position)];a.MVCArrays.remove(r,e.inner)}}createMarkerClusterer(e){return new Yt(this,e)}createAutocomplete(e){return new Zt(this,e)}createSearchBox(e){return new Jt(this,e)}createPlaceService(e){return new Kt(this,e)}}class hi extends Ie{constructor(e,r){var l;super(e);d(this,"map");d(this,"defaultLayers");this.mapOptions=r;const n=rt().here;be.includes(n.version)||E(`不支持${n.version}, HereMap当前只支持如下版本: ${be}`);const s=new H.service.Platform({app_id:n.key.split(",")[0],app_code:n.key.split(",")[1]});this.defaultLayers=s.createDefaultLayers(),this.map=new H.Map(e,this.defaultLayers.normal.map,{zoom:r.zoom,center:(l=r.center)==null?void 0:l.toHere(this.coordType)}),new H.mapevents.Behavior(new H.mapevents.MapEvents(this.map)),H.ui.UI.createDefault(this.map,this.defaultLayers)}setDefaultCursor(e){throw new Error("Method not implemented.")}get innerMap(){return this.map}get coordType(){return V.wgs84}getCenter(){return _.fromHere(this.map.getCenter(),this.coordType)}setCenter(e){this.map.setCenter(e.toHere(this.coordType))}setGestureHandling(e){throw new Error("Method not implemented.")}fromContainerPointToLatLng(e){throw new Error("Method not implemented.")}fromLatLngToContainerPoint(e){throw new Error("Method not implemented.")}setDraggable(e){throw new Error("Method not implemented.")}setDisableDoubleClickZoom(e){throw new Error("Method not implemented.")}setMinZoom(e){throw new Error("Method not implemented.")}setMaxZoom(e){throw new Error("Method not implemented.")}setMapStyle(e){throw new Error("Method not implemented.")}setBuildInMapTypeId(e){throw new Error("Method not implemented.")}setMapType(e){throw new Error("Method not implemented.")}getMapType(){throw new Error("Method not implemented.")}addLayer(e){throw new Error("Method not implemented.")}removeLayer(e){throw new Error("Method not implemented.")}panTo(e){throw new Error("Method not implemented.")}panBy(e,r){throw new Error("Method not implemented.")}fitBounds(e,r){throw new Error("Method not implemented.")}getBounds(){throw new Error("Method not implemented.")}addElementOverlay(e){throw new Error("Method not implemented.")}removeElementOverlay(e){throw new Error("Method not implemented.")}addOverlay(e){throw new Error("Method not implemented.")}removeOverlay(e){throw new Error("Method not implemented.")}createMarker(e){throw new Error("Method not implemented.")}createMarkerClusterer(e){throw new Error("Method not implemented.")}createAutocomplete(e){throw new Error("Method not implemented.")}createSearchBox(e){throw new Error("Method not implemented.")}createPlaceService(e){throw new Error("Method not implemented.")}createInfoWindow(e){throw new Error("Method not implemented.")}createInfoBox(e){throw new Error("Method not implemented.")}createPolyline(e){throw new Error("Method not implemented.")}createPolygon(e){throw new Error("Method not implemented.")}createRectangle(e){throw new Error("Method not implemented.")}createCircle(e){throw new Error("Method not implemented.")}createLabel(e){throw new Error("Method not implemented.")}addCustomControl(e){throw new Error("Method not implemented.")}removeCustomControl(e){throw new Error("Method not implemented.")}createMapTypeControl(e){throw new Error("Method not implemented.")}createZoomControl(e){throw new Error("Method not implemented.")}createScaleControl(e){throw new Error("Method not implemented.")}}var z=(i=>(i.google="google",i.baidu="baidu",i.here="here",i))(z||{});a.TgMapFactory=void 0,(i=>{function t(e,r,n){const s=pt.create(n);switch(e){case"google":return new li(r,s);case"baidu":return new ai(r,s);case"here":return new hi(r,s)}}i.createMap=t})(a.TgMapFactory||(a.TgMapFactory={}));function ci({type:i,config:t}){const e=window,r=di(i);if(e[r])return Promise.resolve();switch(i!==z.here&&!t.key&&E(`请先配置${i}地图的key`),i){case z.google:return{}.VITE_FALSE?(Ur({key:t.key,v:"3.52"}),google.maps.importLibrary("core")):lr(`https://maps.googleapis.com/maps/api/js?key=${t.key}&language=${t.language}&v=${t.version}&libraries=${t.libraries.join(",")}`);case z.baidu:return lr(`https://api.map.baidu.com/api?v=${t.version}&ak=${t.key}`);case z.here:return ge(pe("core",t.version)).then(()=>Promise.all([ge(pe("service",t.version)),ge(pe("mapevents",t.version)),ge(pe("clustering",t.version)),ge(pe("ui",t.version))])).catch(n=>(delete e[r],Promise.reject(n)));default:_e(i)}}function pe(i,t=be[0]){return`https://js.api.here.com/v3/${t}/mapsjs-${i}.js`}function di(i){switch(i){case z.google:return"google";case z.baidu:return"BMap";case z.here:return"H"}}let ui=0;function lr(i,t="callback"){return new Promise((e,r)=>{const n=`__callback${ui++}`;window[n]=e;const s=document.createElement("script");s.src=`${i}&${t}=${n}`,s.onerror=r,document.body.appendChild(s)})}function ge(i){return new Promise((t,e)=>{const r=document.createElement("script");r.src=i,r.onload=t,r.onerror=e,document.body.appendChild(r)})}function N(i,t){return{type:String,default:t,validator:e=>Object.values(i).includes(e)}}function hr(i,t){return{type:String,default:t,validator:e=>i.includes(e)}}function x(i){return{type:i,required:!0}}function y(i,t){return{type:i,default:t}}function pi(i){const t={};return Object.entries(i).forEach(([e,r])=>{const n=`__${e}`;t[e]={get(){const s=this[n];return s===void 0?r:s},set(s){this[n]=s}}}),t}const me={enumerable:!0,configurable:!0,get:Q,set:Q};function cr(i){return Object.keys(i).forEach(t=>{const e=i[t];let r=!1;typeof e=="function"?(me.get=e,me.set=Q,r=!0):typeof e=="object"&&typeof e.get=="function"&&(me.get=e.get,me.set=e.set,r=!0),r&&(i[t]=Object.defineProperty(i,t,me))}),i}function gi(i){return cr(i)}function _t(){return g.createCommentVNode()}function fe(i,t){const e=i.$options[t];if(e)for(const r of e)r.call(i)}function mi(i,t){for(const e of i)if(e.$options.name===t.name)return e}function fi(i,t){if(!i.default)return;const e=i.default();for(const r of e)if((r==null?void 0:r.type).name===t.name)return r}function dr(i,t){const e={},r={},n={};return Object.keys(i).forEach(s=>{s.startsWith("on")?e[a.Strings.pascal2kebab(s.substring(2))]=i[s]:r[s]=i[s]}),t&&Object.keys(t).forEach(s=>{s.startsWith("on")&&(n[a.Strings.pascal2kebab(s.substring(2))]=t[s])}),{binds:r,listeners:e,listenerProps:n}}function G(i,t){return g.computed(()=>dr(i,t))}function L(){return Function}const yi=()=>{let i,t;function e(n){console.log(n),i=n&&n.type,t=Date.now()}function r(n){((n&&n.type)!==i||Date.now()-(t??0)>1e3)&&e(n)}return{eventLog:e,eventLogLess:r}},Ke="$map",se="onCreate",oe="onDestroy",B=g.defineComponent({inject:[Ke],mounted(){fe(this,se)},beforeUnmount(){fe(this,oe)},methods:{recreate(){fe(this,oe),fe(this,se)}},render(){return _t()}}),vi=g.defineComponent({name:"tg-map",provide(){return{[Ke]:g.computed(()=>this.map)}},inheritAttrs:!1,props:{type:N(z,z.google),center:x(_),centerSyncDelay:y(Number,300),currentCenter:y(_),lastCenter:y(_),zoom:x(Number),infoWindowMode:hr(ti),gestureHandling:N(W),minZoom:y(Number),maxZoom:y(Number),mapStyle:y(Object),mapTypeId:N(Dt),mapType:y(Object),hideLogo:y(Boolean),onLoad:L(),"onUpdate:center":L(),"onUpdate:current-center":L(),"onUpdate:last-center":L(),"onUpdate:map-type":L(),"onUpdate:map-type-id":L(),"onUpdate:zoom":L(),onError:L()},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t,i),centerSyncTimeoutId:void 0}},data(){return{map:Me(),isDestroyed:!1}},computed:{propsJson(){return a.Objects.toJsonSafely(this.$props)}},watch:{gestureHandling(i){var t;i&&((t=this.map)==null||t.setGestureHandling(i))},minZoom(i){var t;(t=this.map)==null||t.setMinZoom(i)},maxZoom(i){var t;(t=this.map)==null||t.setMaxZoom(i)},mapStyle(i){var t;(t=this.map)==null||t.setMapStyle(i)},mapTypeId(i){var t;i&&((t=this.map)==null||t.setBuildInMapTypeId(i))},mapType(i){var t;(t=this.map)==null||t.setMapType(i??$.NORMAL)}},async mounted(){const i=this.type;try{await ci({type:i,config:rt()[i]})}catch(n){this.$emit("error",n);return}if(this.isDestroyed){console.warn(`tg-map(type=${i})已销毁, 不需要继续执行`);return}const t=a.TgMapFactory.createMap(i,this.$refs.map,{center:this.center,zoom:this.zoom,infoWindowMode:this.infoWindowMode,gestureHandling:this.gestureHandling,minZoom:this.minZoom,maxZoom:this.maxZoom,mapStyle:this.mapStyle,buildInMapTypeId:this.mapTypeId});if(this.map=g.markRaw(t),this.mapType&&t.setMapType(this.mapType),"ready"in this.attrs.listeners&&console.error("地图载入完成的事件已经从ready改为了load, 请手动修改"),k(this.attrs.listeners,t,["load"]),this.$emit("load",t),g.watch([()=>this.zoom,()=>this.center],([n,s],[l,c])=>{n!==l&&t.setZoom(n),s!==c&&(t.getCenter().equals(s)||t.setCenter(s))}),"update:center"in this.attrs.listenerProps){const n=()=>this.$emit("update:center",t.getCenter());t.addEventListener("center-changed",()=>{this.centerSyncDelay>0?(clearTimeout(this.centerSyncTimeoutId),this.centerSyncTimeoutId=setTimeout(n,this.centerSyncDelay)):n()})}"update:current-center"in this.attrs.listenerProps&&(this.$emit("update:current-center",this.center),t.addEventListener("center-changed",()=>{this.$emit("update:current-center",t.getCenter())})),"update:zoom"in this.attrs.listenerProps&&t.addEventListener("zoom-changed",()=>{this.$emit("update:zoom",t.getZoom())});const e="update:map-type"in this.attrs.listenerProps,r="update:map-type-id"in this.attrs.listenerProps;(e||r)&&t.addEventListener("map-type-changed",()=>{const n=t.getMapType();e&&this.$emit("update:map-type",n),r&&this.$emit("update:map-type-id",n.id)})},unmounted(){this.isDestroyed=!0,this.map&&("update:last-center"in this.attrs.listenerProps&&this.$emit("update:last-center",this.map.getCenter()),"update:center"in this.attrs.listenerProps&&(clearTimeout(this.centerSyncTimeoutId),this.$emit("update:center",this.map.getCenter())))},methods:{}}),un="",j=(i,t)=>{const e=i.__vccOpts||i;for(const[r,n]of t)e[r]=n;return e};function _i(i,t,e,r,n,s){return g.openBlock(),g.createElementBlock("div",g.mergeProps({class:"tg-map"},i.attrs.binds),[g.createElementVNode("div",{ref:"map",class:g.normalizeClass({"tg-map__map":!0,[`tg-map__map--hide-logo-${i.type}`]:i.hideLogo})},null,2),g.createCommentVNode("",!0),i.map?g.renderSlot(i.$slots,"default",{key:1}):g.createCommentVNode("",!0),g.renderSlot(i.$slots,"overlay")],16)}const ur=j(vi,[["render",_i]]);function bi(i){if(i==null)return;let t;if(typeof i=="string"){if(t=+i,Number.isNaN(t))return i}else t=i;return`${t}px`}const Mi=g.defineComponent({name:"tg-map-widget",props:{left:{type:[Number,String],default:null},top:{type:[Number,String],default:null},right:{type:[Number,String],default:null},bottom:{type:[Number,String],default:null}},computed:{topValue(){return this.top==null&&this.bottom==null?0:this.top}},methods:{dimen:bi}}),pn="";function Ci(i,t,e,r,n,s){return g.openBlock(),g.createElementBlock("div",{class:g.normalizeClass(i.$options.name),style:g.normalizeStyle({left:i.dimen(i.left),top:i.dimen(i.topValue),right:i.dimen(i.right),bottom:i.dimen(i.bottom)})},[g.renderSlot(i.$slots,"default")],6)}const Ti=j(Mi,[["render",Ci]]),Oi=g.defineComponent({name:"tg-custom-control",mixins:[B],props:{position:N(I,I.RIGHT_BOTTOM)},setup(){return{control:void 0}},watch:{position(){this.recreate()}},onCreate(){te(this.$parent,ur)||console.warn("请将tg-custom-control放到tg-map中");const{$el:i}=this,t=class extends $t{onCreateElement(){return i}};this.control=new t(this.position),this.$map.addCustomControl(this.control)},onDestroy(){this.$map.removeCustomControl(this.control)}}),gn="";function wi(i,t,e,r,n,s){return g.openBlock(),g.createElementBlock("div",{class:g.normalizeClass(i.$options.name)},[g.renderSlot(i.$slots,"default")],2)}const Ei=j(Oi,[["render",wi]]),Pi=g.defineComponent({name:"tg-map-type-control",mixins:[B],props:{position:N(I,I.TOP_LEFT),type:N(at),mapTypes:y(Array)},setup(){return{control:void 0}},watch:{position(i){this.control.setPosition(i)},type(){this.recreate()},mapTypes:{handler(){this.recreate()},deep:!0}},onCreate(){this.control=this.$map.createMapTypeControl(this),this.$map.addControl(this.control)},onDestroy(){this.$map.removeControl(this.control)}}),Li=g.defineComponent({name:"tg-scale-control",mixins:[B],props:{position:N(I,I.BOTTOM_RIGHT)},setup(){return{control:void 0}},watch:{position(i){this.control.setPosition(i)}},onCreate(){this.control=this.$map.createScaleControl(this),this.$map.addControl(this.control)},onDestroy(){this.$map.removeControl(this.control)}});function pr(){var e;const i=(e=g.getCurrentInstance())==null?void 0:e.type;let t=(i==null?void 0:i.name)??(i==null?void 0:i.__name);if(!t){const r=i==null?void 0:i.__file;r&&(t=ar.basename(r,".vue"))}return t}function gr(){const i=g.inject(Ke);let t,e;return i==null&&E(`<${pr()||"unknown"}>必须作为<tg-map>的子代组件`),{mapRef:i,get map(){return i.value??E("map尚未初始化")},[se](r){g.onMounted(r),t&&E(`${se}只能调用一次`),t=r},[oe](r){g.onBeforeUnmount(r),e&&E(`${oe}只能调用一次`),e=r},recreate(){e==null||e(),t==null||t()}}}const ki=g.defineComponent({name:"tg-zoom-control",props:{position:N(I,I.RIGHT_BOTTOM)},setup(i){let t=void 0;const{map:e,onCreate:r,onDestroy:n}=gr();return r(()=>{t=e.createZoomControl(i),e.addControl(t)}),n(()=>{e.removeControl(t)}),g.watch(()=>i.position,s=>{t.setPosition(s)}),_t}}),Bi=g.defineComponent({name:"tg-marker-clusterer",mixins:[B],props:{gridSize:y(Number),maxZoom:y(Number),minClusterSize:y(Number),averageCenter:y(Boolean),styles:y(Array),stylesIndexCalculator:y(Function),zIndex:y(Number)},setup(){return{clusterer:void 0,markers:[]}},watch:{gridSize(){this.recreate()},maxZoom(){this.recreate()},minClusterSize(){this.recreate()},averageCenter(){this.recreate()},styles:{handler(){this.recreate()},deep:!0},stylesIndexCalculator(){this.recreate()},zIndex(){this.recreate()}},onCreate(){this.clusterer=this.$map.createMarkerClusterer(this)},onDestroy(){this.clusterer.clearMarkers()},methods:{isInitiated(){return this.clusterer!=null},onAddMarker(i){this.markers.push(i),this.isInitiated()&&this.clusterer.addMarker(i)},onRemoveMarker(i){this.isInitiated()&&this.clusterer.removeMarker(i),a.Arrays.remove(this.markers,i)}}});function Si(i,t,e,r,n,s){return g.openBlock(),g.createElementBlock("div",{class:g.normalizeClass(i.$options.name)},[g.renderSlot(i.$slots,"default")],2)}const mr=j(Bi,[["render",Si]]),Ii=g.defineComponent({name:"tg-traffic-layer",mixins:[B],setup(){return{layer:void 0}},watch:{},onCreate(){this.layer=new Fr,this.$map.addLayer(this.layer)},onDestroy(){this.$map.removeLayer(this.layer)}}),Ai=g.defineComponent({name:"tg-circle",mixins:[B],inheritAttrs:!1,props:{center:x(_),radius:x(Number),clickable:y(Boolean),editable:y(Boolean),strokeColor:y(String),strokeOpacity:y(Number),strokeWeight:y(Number),visible:y(Boolean),fillColor:y(String),fillOpacity:y(Number),"onUpdate:center":L(),"onUpdate:radius":L()},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t,i),overlay:void 0,emittedRadius:void 0,emittedCenter:void 0}},watch:{center(i){if(this.emittedCenter!=null){const t=this.emittedCenter;if(this.emittedCenter=void 0,t===g.toRaw(i))return}this.overlay.setCenter(i)},radius(i){if(this.emittedRadius!=null){const t=this.emittedRadius;if(this.emittedRadius=void 0,t===i)return}this.overlay.setRadius(i)},clickable(){this.recreate()},editable(i){this.overlay.setEditable(i)},strokeColor(i){this.overlay.setStrokeColor(i)},strokeOpacity(i){this.overlay.setStrokeOpacity(i)},strokeWeight(i){this.overlay.setStrokeWeight(i)},fillColor(i){this.overlay.setFillColor(i)},fillOpacity(i){this.overlay.setFillOpacity(i)},visible(i){this.overlay.setVisible(i)}},onCreate(){this.overlay=this.$map.createCircle(this),this.$map.addOverlay(this.overlay),k(this.attrs.listeners,this.overlay),"update:center"in this.attrs.listenerProps&&this.overlay.addEventListener("center-changed",()=>{this.$emit("update:center",this.emittedCenter=this.overlay.getCenter())}),"update:radius"in this.attrs.listenerProps&&this.overlay.addEventListener("radius-changed",()=>{this.$emit("update:radius",this.emittedRadius=this.overlay.getRadius())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),mn="";var bt=(i=>(i.map="map",i.overlay="overlay",i.overlayMouseTarget="overlayMouseTarget",i.float="float",i))(bt||{});class xi{constructor(t,e){d(this,"baidu");d(this,"google");d(this,"projection");d(this,"element",void 0);d(this,"mapPane");this.map=t,this.mapPane=e.mapPane}create(){return this.element=this.onCreate(),this.element.className+=" element-overlay",this.element}draw(){this.projection&&this.onDraw(this.projection)}getProjection(){return this.projection}asBaidu(){if(!this.baidu){const t=this;sr();class e extends BMap.OverlayV3{initialize(s){const l=t.create(),c=s.getPanes();let o;switch(t.mapPane){case"float":o=c.floatPane;break;case"overlayMouseTarget":o=c.markerMouseTarget;break;case"overlay":o=c.markerPane;break;case"map":o=c.mapPane;break;default:_e(t.mapPane);break}return o==null||o.appendChild(l),l}draw(){t.draw()}}this.baidu=new e;const r=t.map.innerMap;this.projection={fromLatLngToOverlayPoint(n){return r.pointToOverlayPixel(n.toBaidu(t.map.coordType))},fromOverlayPointToLatLng(n){return _.fromBaidu(r.overlayPixelToPoint(new BMap.Pixel(n.x,n.y)),t.map.coordType)}}}return this.baidu}asGoogle(){if(!this.google){const t=this;class e extends google.maps.OverlayView{onAdd(){const n=t.create(),s=this.getPanes()??E("onAdd回调中一定会有panes");let l;switch(t.mapPane){case"float":l=s.floatPane;break;case"overlayMouseTarget":l=s.overlayMouseTarget;break;case"overlay":l=s.overlayLayer;break;case"map":l=s.mapPane;break;default:_e(t.mapPane);break}l.appendChild(n)}draw(){t.draw()}onRemove(){var n;(n=t.element.parentNode)==null||n.removeChild(t.element)}}this.google=new e,this.projection={fromLatLngToOverlayPoint(r){return t.google.getProjection().fromLatLngToDivPixel(r.toGoogle(t.map.coordType))??a.Point.ZERO},fromOverlayPointToLatLng(r){return _.fromGoogle(t.google.getProjection().fromDivPixelToLatLng(new google.maps.Point(r.x,r.y))??F.LATLNG_ZERO,t.map.coordType)}}}return this.google}}class Ri extends xi{constructor(t,e,r,n){super(t,e),this.content=r,this.position=n}onCreate(){return this.content}onDraw(t){const e=t.fromLatLngToOverlayPoint(this.position);this.content.style.left=e.x+"px",this.content.style.top=e.y+"px"}setPosition(t){this.position=t,this.draw()}}const $i=g.defineComponent({name:"tg-element-overlay",mixins:[B],props:{mapPane:N(bt,bt.overlayMouseTarget),position:x(_)},setup(){return{overlay:void 0}},watch:{position(i){this.overlay.setPosition(i)},mapPane(){this.recreate()}},methods:{content(){return this.$el}},onCreate(){this.overlay=new Ri(this.$map,this,this.content(),this.position),this.$map.addElementOverlay(this.overlay)},onDestroy(){this.$map.removeElementOverlay(this.overlay)}}),fn="";function Di(i,t,e,r,n,s){return g.openBlock(),g.createElementBlock("div",g.mergeProps({class:i.$options.name},i.$attrs),[g.renderSlot(i.$slots,"default")],16)}const zi=j($i,[["render",Di]]),Ni=g.defineComponent({name:"tg-marker",mixins:[B],inheritAttrs:!1,props:{position:x(_),title:y(String),icon:y(Object),clickable:y(Boolean),draggable:y(Boolean),crossOnDrag:y(Boolean),cursor:y(String),zIndex:y(Number),visible:y(Boolean),"onUpdate:position":L()},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t,i),marker:void 0,label:Me(),info:Me(),emittedPosition:void 0}},watch:{position(i){if(this.emittedPosition!=null){const t=this.emittedPosition;if(this.emittedPosition=void 0,t===g.toRaw(i))return}this.marker.setPosition(i)},title(i){this.marker.setTitle(i)},icon(i){i?this.marker.setIcon(i):this.recreate()},clickable(i){this.marker instanceof ne?this.recreate():this.marker.setClickable(i)},draggable(i){this.marker.setDraggable(i)},crossOnDrag(){this.recreate()},cursor(){this.recreate()},zIndex(i){this.marker instanceof ne?this.recreate():this.marker.setZIndex(i)},visible(i){this.marker.setVisible(i)}},onCreate(){this.marker=this.$map.createMarker(this),this.label&&this.marker.setLabel(this.label.overlay),this.$clusterer()?this.$clusterer().onAddMarker(this.marker):this.$map.addOverlay(this.marker),this.info&&this.info.show&&this.info.overlay.open(this.marker),k(this.attrs.listeners,this.marker),"update:position"in this.attrs.listenerProps&&this.marker.addEventListener("dragend",i=>{this.$emit("update:position",this.emittedPosition=i.position)})},onDestroy(){this.$clusterer()?this.$clusterer().onRemoveMarker(this.marker):this.$map.removeOverlay(this.marker)},methods:{$clusterer(){return te(this.$parent,mr)},onAddLabel(i){this.label=i,this.marker&&this.marker.setLabel(i.overlay)},onRemoveLabel(i){this.marker.setLabel(void 0),this.label=void 0},onAddInfo(i){this.info=i,this.marker&&i.show&&i.overlay.open(this.marker)},onRemoveInfo(i){i.overlay.close(),this.info=void 0},onInfoShowChanged(i,t){t?i.overlay.open(this.marker):i.overlay.close()}}});function Gi(i,t,e,r,n,s){return g.openBlock(),g.createElementBlock("div",g.mergeProps({class:i.$options.name},i.attrs.binds),[g.renderSlot(i.$slots,"default")],16)}const Xe=j(Ni,[["render",Gi]]),Zi=g.defineComponent({name:"tg-info-box",mixins:[B],inheritAttrs:!1,props:{show:x(Boolean),position:y(_),offset:y(Object),maxWidth:y(Number),borderClass:y(String),zIndex:y(Number),"onUpdate:show":L()},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t,i),overlay:void 0}},watch:{show(i){this.$marker()?this.$marker().onInfoShowChanged(this,i):i?this.overlay.open():this.overlay.close()},position(i){this.overlay.setPosition(i)},offset(){this.recreate()},maxWidth(i){this.overlay.setMaxWidth(i)},borderClass(){this.recreate()},zIndex(i){this.overlay.setZIndex(i)}},onCreate(){this.overlay=this.$map.createInfoBox(this.getOptions()),this.$marker()?this.$marker().onAddInfo(this):this.show&&this.overlay.open(),"update:show"in this.attrs.listenerProps&&this.overlay.addEventListener("closeclick",()=>{this.$emit("update:show",!1)}),k(this.attrs.listeners,this.overlay)},onDestroy(){this.$marker()?this.$marker().onRemoveInfo(this):this.overlay.close()},methods:{getOptions(){return{content:this.content(),position:this.position,offset:this.offset,zIndex:this.zIndex,maxWidth:this.maxWidth,borderClass:this.borderClass}},content(){return this.$el},$marker(){return te(this.$parent,Xe)},open(i){this.overlay.open(i)},close(){this.overlay.close()}}}),yn="";function Wi(i,t,e,r,n,s){return g.openBlock(),g.createElementBlock("div",g.mergeProps({class:i.$options.name},i.attrs.binds),[g.renderSlot(i.$slots,"default")],16)}const ji=j(Zi,[["render",Wi]]),Hi=g.defineComponent({name:"tg-info-window",mixins:[B],inheritAttrs:!1,props:{show:x(Boolean),position:y(_),maxWidth:y(Number),offset:y(Object),disableAutoPan:y(Boolean),"onUpdate:show":L()},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t,i),overlay:void 0}},watch:{show(i){this.$marker()?this.$marker().onInfoShowChanged(this,i):i?this.overlay.open():this.overlay.close()},position(i){this.overlay.setPosition(i)},maxWidth(){this.recreate()},offset(){this.recreate()},disableAutoPan(){this.recreate()}},methods:{content(){return this.$el},$marker(){return te(this.$parent,Xe)},getOptions(){return{content:this.content(),position:this.position,maxWidth:this.maxWidth,offset:this.offset,disableAutoPan:this.disableAutoPan}}},onCreate(){this.overlay=this.$map.createInfoWindow(this.getOptions()),this.$marker()?this.$marker().onAddInfo(this):this.show&&this.overlay.open(),this.overlay.addEventListener("open",()=>{this.$emit("update:show",!0)}),this.overlay.addEventListener("close",()=>{this.$emit("update:show",!1)}),k(this.attrs.listeners,this.overlay)},onDestroy(){this.$marker()?this.$marker().onRemoveInfo(this):this.overlay.close()}});function Vi(i,t,e,r,n,s){return g.withDirectives((g.openBlock(),g.createElementBlock("div",g.mergeProps({class:i.$options.name},i.attrs.binds),[g.renderSlot(i.$slots,"default")],16)),[[g.vShow,i.show]])}const Fi=j(Hi,[["render",Vi]]),Ui=g.defineComponent({name:"tg-label",mixins:[B],inheritAttrs:!1,props:{position:y(_),offset:y(Object),zIndex:y(Number)},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t),overlay:void 0}},watch:{position(i){this.overlay.setPosition(i)},offset(i){this.overlay.setOffset(i)},zIndex(i){this.overlay.setZIndex(i)},visible(i){this.overlay.setVisible(i)}},methods:{content(){return this.$el},marker(){var i;return(i=this.$marker())==null?void 0:i.marker},$marker(){return te(this.$parent,Xe)},getOptions(){return{content:this.content(),position:this.position,offset:this.offset,zIndex:this.zIndex}}},onCreate(){this.overlay=this.$map.createLabel(this.getOptions()),this.$marker()?this.$marker().onAddLabel(this):this.$map.addOverlay(this.overlay),k(this.attrs.listeners,this.overlay)},onDestroy(){this.$marker()?this.$marker().onRemoveLabel(this):this.$map.removeOverlay(this.overlay)}}),vn="";function qi(i,t,e,r,n,s){return g.openBlock(),g.createElementBlock("div",g.mergeProps({class:i.$options.name},i.attrs.binds),[g.renderSlot(i.$slots,"default")],16)}const Yi=j(Ui,[["render",qi]]),Ki=g.defineComponent({name:"tg-polygon",mixins:[B],inheritAttrs:!1,props:{paths:x(Array),clickable:y(Boolean),editable:y(Boolean),strokeColor:y(String),strokeOpacity:y(Number),strokeWeight:y(Number),visible:y(Boolean),fillColor:y(String),fillOpacity:y(Number),"onUpdate:paths":L()},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t,i),overlay:void 0,emittedPaths:void 0}},watch:{paths:{handler(i){if(this.emittedPaths!=null){const t=this.emittedPaths;if(this.emittedPaths=void 0,t.length===i.length&&t.every((e,r)=>e===g.toRaw(i[r])))return}this.overlay.setPaths(i)},deep:!0},clickable(){this.recreate()},editable(i){this.overlay.setEditable(i)},strokeColor(i){this.overlay.setStrokeColor(i)},strokeOpacity(i){this.overlay.setStrokeOpacity(i)},strokeWeight(i){this.overlay.setStrokeWeight(i)},fillColor(i){this.overlay.setFillColor(i)},fillOpacity(i){this.overlay.setFillOpacity(i)},visible(i){this.overlay.setVisible(i)}},onCreate(){this.overlay=this.$map.createPolygon(this),this.$map.addOverlay(this.overlay),k(this.attrs.listeners,this.overlay),"update:paths"in this.attrs.listenerProps&&this.overlay.addEventListener("paths-edited",()=>{this.$emit("update:paths",this.emittedPaths=this.overlay.getPaths())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),Xi=g.defineComponent({name:"tg-polyline",mixins:[B],inheritAttrs:!1,props:{path:x(Array),clickable:y(Boolean),editable:y(Boolean),strokeColor:y(String),strokeOpacity:y(Number),strokeWeight:y(Number),visible:y(Boolean),"onUpdate:path":L()},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t,i),overlay:void 0,emittedPath:void 0}},watch:{path:{handler(i){if(this.emittedPath!=null){const t=this.emittedPath;if(this.emittedPath=void 0,t===g.toRaw(i))return}this.overlay.setPath(i)},deep:!0},clickable(){this.recreate()},editable(i){this.overlay.setEditable(i)},strokeColor(i){this.overlay.setStrokeColor(i)},strokeOpacity(i){this.overlay.setStrokeOpacity(i)},strokeWeight(i){this.overlay.setStrokeWeight(i)},visible(i){this.overlay.setVisible(i)}},onCreate(){this.overlay=this.$map.createPolyline(this),this.$map.addOverlay(this.overlay),k(this.attrs.listeners,this.overlay),"update:path"in this.attrs.listenerProps&&this.overlay.addEventListener("path-edited",()=>{this.$emit("update:path",this.emittedPath=this.overlay.getPath())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),Ji=g.defineComponent({name:"tg-rectangle",mixins:[B],inheritAttrs:!1,props:{bounds:x(Object),clickable:y(Boolean),editable:y(Boolean),strokeColor:y(String),strokeOpacity:y(Number),strokeWeight:y(Number),visible:y(Boolean),fillColor:y(String),fillOpacity:y(Number),"onUpdate:bounds":L()},emits:void 0,setup(i,{attrs:t}){return{attrs:G(t,i),overlay:void 0,emittedBounds:void 0}},watch:{bounds(i){if(this.emittedBounds!=null){const t=this.emittedBounds;if(this.emittedBounds=void 0,t.equals(i))return}this.overlay.setBounds(i)},clickable(){this.recreate()},editable(i){this.overlay.setEditable(i)},strokeColor(i){this.overlay.setStrokeColor(i)},strokeOpacity(i){this.overlay.setStrokeOpacity(i)},strokeWeight(i){this.overlay.setStrokeWeight(i)},fillColor(i){this.overlay.setFillColor(i)},fillOpacity(i){this.overlay.setFillOpacity(i)},visible(i){this.overlay.setVisible(i)}},onCreate(){this.overlay=this.$map.createRectangle(this),this.$map.addOverlay(this.overlay),k(this.attrs.listeners,this.overlay),"update:bounds"in this.attrs.listenerProps&&this.overlay.addEventListener("bounds-changed",()=>{this.$emit("update:bounds",this.emittedBounds=this.overlay.getBounds())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),Qi=["beforeUpdate","updated"],en={install(i,t={}){if(t.enable!==!1){const e=g.defineComponent({beforeCreate(){const r=pr()??"",s=(t.nameRegex||/^[A-Z]/).test(r)?l=>{t.hookNames?t.hookNames.includes(l)&&console.debug("[lifecycle]",r,l):Qi.includes(l)||console.debug("[lifecycle]",r,l)}:Q;s("beforeCreate"),this.__life_impl=s},created(){this.__life("created")},beforeMount(){this.__life("beforeMount")},mounted(){this.__life("mounted")},beforeUpdate(){this.__life("beforeUpdate")},updated(){this.__life("updated")},beforeUnmount(){this.__life("beforeUnmount")},unmounted(){this.__life("unmounted")},methods:{__life(r){this.__life_impl(r)}},onCreate(){this.__life("onCreate")},onDestroy(){this.__life("onDestroy")}});i.mixin(e)}}},tn=6378137;function ye(i){return i*Math.PI/180}function fr(i){return i*180/Math.PI}function rn(i,t){if(i.lat===t.lat&&i.lng===t.lng)return 0;const e=ye((i.lat+t.lat)/2),r=ye((i.lat-t.lat)/2),n=ye((i.lng-t.lng)/2);let s=Math.sin(r),l=Math.sin(n),c=Math.sin(e);const o=tn,h=1/298.257;s=s*s,l=l*l,c=c*c;const u=s*(1-l)+(1-c)*l,p=(1-s)*(1-l)+c*l,m=Math.atan(Math.sqrt(u/p)),C=Math.sqrt(u*p)/m,M=2*m*o,T=(3*C-1)/2/p,f=(3*C+1)/2/u;return M*(1+h*(T*c*(1-s)-f*(1-c)*s))}function yr(i,t,e){const n=63567523142e-4,s=1/298.257223563,l=ye(t),c=Math.sin(l),o=Math.cos(l),h=(1-s)*Math.tan(ye(i.lat)),u=1/Math.sqrt(1+h*h),p=h*u,m=Math.atan2(h,o),C=u*c,M=1-C*C,T=M*(6378137*6378137-n*n)/(n*n),f=1+T/16384*(4096+T*(-768+T*(320-175*T))),v=T/1024*(256+T*(-128+T*(74-47*T)));let b=0,w=0,S=0,P=e/(n*f),X=2*Math.PI;for(;Math.abs(P-X)>1e-12;){b=Math.cos(2*m+P),w=Math.sin(P),S=Math.cos(P);const ln=v*w*(b+v/4*(S*(-1+2*b*b)-v/6*b*(-3+4*w*w)*(-3+4*b*b)));X=P,P=e/(n*f)+ln}const le=p*w-u*S*o,Ct=Math.atan2(p*S+u*w*o,(1-s)*Math.sqrt(C*C+le*le)),on=Math.atan2(w*c,u*S-p*w*o),Tt=s/16*M*(4+s*(4-3*M)),an=on-(1-Tt)*s*C*(P+Tt*w*(b+Tt*S*(-1+2*b*b)));return{lng:i.lng+fr(an),lat:fr(Ct)}}const nn={getDistance:rn,getDestination:yr},sn={install(i,t){Bt(t),i.config.unwrapInjectedRef=!0;const e=i.config.optionMergeStrategies;e[se]=e[oe]=(r,n)=>r?[...new Set([].concat(r,n))]:Array.isArray(n)?n:[n]}};a.AbstractControl=ot,a.AbstractMap=Ie,a.Autocomplete=lt,a.BaiduAutocomplete=Wt,a.BaiduCircle=Re,a.BaiduControl=Te,a.BaiduInfoBoxOverlay=Ge,a.BaiduInfoWindow=ze,a.BaiduMapTypeControl=we,a.BaiduMarker=ne,a.BaiduMarkerClusterer=qt,a.BaiduOverlay=de,a.BaiduPlacesService=Xt,a.BaiduPolyShape=je,a.BaiduPolygon=Fe,a.BaiduPolyline=He,a.BaiduRectangle=qe,a.BaiduScaleControl=Ee,a.BaiduSearchBox=Qt,a.BaiduZoomControl=Le,a.CachedValue=st,a.ControlPosition=I,a.CoordType=V,a.CustomControl=$t,a.FastFindValues=Rt,a.GoogleAutocomplete=Zt,a.GoogleCircle=$e,a.GoogleControl=Oe,a.GoogleInfoBoxOverlay=Ze,a.GoogleInfoWindow=Ne,a.GoogleMapTypeControl=ce,a.GoogleMarker=We,a.GoogleMarkerClusterer=Yt,a.GoogleOverlay=Ae,a.GooglePlacesService=Kt,a.GooglePolygon=Ue,a.GooglePolyline=Ve,a.GoogleRectangle=Ye,a.GoogleScaleControl=Pe,a.GoogleSearchBox=Jt,a.GoogleZoomControl=ke,a.InfoWindow=De,a.KeyValue=nt,a.LatLng=_,a.LatLngBounds=A,a.LifecycleLogPlugin=en,a.MIXIN_HOOK_CREATE=se,a.MIXIN_HOOK_DESTROY=oe,a.MIXIN_MAP_NAME=Ke,a.MapMixin=B,a.MapTypeControlType=at,a.MapZoom=er,a.MarkerClusterer=ct,a.Overlay=gt,a.PlacesService=dt,a.SearchBox=ut,a.SphericalUtils=nn,a.SymbolPath=oi,a.TgCircle=Ai,a.TgCustomControl=Ei,a.TgElementOverlay=zi,a.TgInfoBox=ji,a.TgInfoWindow=Fi,a.TgLabel=Yi,a.TgMap=ur,a.TgMapType=z,a.TgMapTypeControl=Pi,a.TgMapWidget=Ti,a.TgMarker=Xe,a.TgMarkerClusterer=mr,a.TgPolygon=Ki,a.TgPolyline=Xi,a.TgRectangle=Ji,a.TgScaleControl=Li,a.TgTrafficLayer=Ii,a.TgZoomControl=ki,a.UnionIcon=ue,a.assert=U,a.assertNever=_e,a.callHook=fe,a.computedSaveOnThis=pi,a.createEmptyVNode=_t,a.createPropertyObject=cr,a.createPropertyObjectTyped=gi,a.debug=Tr,a.default=sn,a.eventProp=L,a.extractVNodeFromSlotsByComponent=fi,a.findByComponentType=mi,a.getDestination=yr,a.getTgMapConfig=rt,a.isDef=Or,a.isInstanceOf=Zr,a.lateinit=Gr,a.noop=Q,a.optionalProp=y,a.path=ar,a.requiredProp=x,a.safeAs=Wr,a.safeAsComponent=te,a.setTgMapConfig=Bt,a.splitAttrs=dr,a.stringEnumProp=N,a.stringUnionPropFromValues=hr,a.throwError=E,a.throwUnsupported=et,a.todo=Cr,a.typed=Me,a.unwrapStringEnumValue=jr,a.useEventLogMethods=yi,a.useSplittedAttrs=G,a.useTgMap=gr,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
18
18
  //# sourceMappingURL=tg-map.umd.cjs.map