tg-map-vue3 3.9.6 → 3.9.7

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.
package/dist/tg-map.cjs CHANGED
@@ -14,5 +14,5 @@
14
14
  `)}i.trimIndent=e;function r(s){return s.replace(/([^A-Z]?)([A-Z])/g,(a,u,o)=>u?`${u}-${o.toLowerCase()}`:o.toLowerCase())}i.pascal2kebab=r;function n(s){return/^-?\d+$/.test(s)}i.isInt=n})(exports.Strings||(exports.Strings={}));var ce=(i=>(i.map="map",i.overlay="overlay",i.overlayMouseTarget="overlayMouseTarget",i.float="float",i))(ce||{});exports.MapPanes=void 0;(i=>{function t(r,n){switch(r){case"float":return n.floatPane;case"overlayMouseTarget":return n.overlayMouseTarget;case"overlay":return n.overlayLayer;case"map":return n.mapPane;default:T.assertNever(r)}}i.toGoogle=t;function e(r,n){switch(r){case"float":return n.floatPane;case"overlayMouseTarget":return n.markerMouseTarget;case"overlay":return n.markerPane;case"map":return n.mapPane;default:T.assertNever(r)}}i.toBaidu=e})(exports.MapPanes||(exports.MapPanes={}));class Rr{constructor(t,e){m(this,"baidu");m(this,"google");m(this,"projection");m(this,"element",T.lateinit());m(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;ir();class e extends BMap.OverlayV3{initialize(s){var o;const a=t.create(),u=s.getPanes();return(o=exports.MapPanes.toBaidu(t.mapPane,u))==null||o.appendChild(a),a}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 w.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()??T.throwError("onAdd回调中一定会有panes");exports.MapPanes.toGoogle(t.mapPane,s).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))??exports.Point.ZERO},fromOverlayPointToLatLng(r){return w.fromGoogle(t.google.getProjection().fromDivPixelToLatLng(new google.maps.Point(r.x,r.y))??re.LATLNG_ZERO,t.map.coordType)}}}return this.google}}let Et;function Fi(i,t,e,r,n){return Et||(Et=Ui()),new Et(i,t,e,r,n)}function Ui(){return class extends google.maps.OverlayView{constructor(e,r,n,s=ce.overlayMouseTarget,a){super();m(this,"container");this.position=r,this.offset=n,this._mapPane=s,this.container=document.createElement("div"),this.container.className="label-container",this.container.style.position="absolute",a&&this.setZIndex(a),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()??T.throwError("onAdd回调中一定能够获取panes");exports.MapPanes.toGoogle(this._mapPane,e).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 de;(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})(de||(de={}));class Vt extends Se{constructor(e,r,n,s){super(e,r,n);m(this,"icon");m(this,"iconAnchor");m(this,"content",T.lateinit());m(this,"contentObserver");this.setContentInternal(s,!0)}static create(e){var a;const r=this.coordType,n=new BMap.Label(de.toString(e.content),{position:(a=e.position)==null?void 0:a.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 Vt(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(de.toString(e)),this.content=e)}setZIndex(e){this.innerOverlay.setZIndex(e)}getPosition(){return w.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 u;let r;if(e instanceof BMap.Icon)r=e.anchor;else if(e)if(e.anchor)r=e.anchor;else{const o=((u=e.__icon__)==null?void 0:u.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,g;if(T.assert(e.__icon__,`${e}必须是由'SymbolIcon.toBaidu()'创建的`),!e.anchor){console.log("BaiduLabelOverlay.attachIcon","Bmap.Symbol.anchor尚未计算完成");return}const h=e.anchor.width-e.style.anchor.width,c=e.anchor.height-e.style.anchor.height;if(o.x!==h||o.y!==c){const f=[(p=e.__icon__.anchor)==null?void 0:p.x,(g=e.__icon__.anchor)==null?void 0:g.y,e.__icon__.rotation,e.__icon__.scale,e.__icon__.strokeWeight].map(C=>C??"").join(",");console.warn("BaiduLabelOverlay.attachIcon",e.__icon__,exports.Strings.trimIndent(`
15
15
  为了保证Label的位置正确, 请将SymbolIcon(${f})中baiduLabelOffset的值改写成:
16
16
  ${JSON.stringify({x:h,y:c})}
17
- `))}},1)}const n=this.innerOverlay.getOffset();let s=n.width,a=n.height;this.iconAnchor&&(s-=this.iconAnchor.width,a-=this.iconAnchor.height),r&&(s+=r.width,a+=r.height),this.innerOverlay.setOffset(new BMap.Size(s,a)),this.icon=e,this.iconAnchor=r}}class Ht extends st{static create(t){var n;const e=this.coordType,r=Fi(de.toElement(t.content),(n=t.position)==null?void 0:n.toGoogle(e),t.offset,t.mapPane,t.zIndex);return new Ht(r,e,this)}setZIndex(t){this.innerOverlay.setZIndex(t)}setContent(t){this.innerOverlay.setElement(de.toElement(t))}getPosition(){const t=this.innerOverlay.getPosition();return t?w.fromGoogle(t,this.coordType):w.ZERO}setPosition(t){this.coordType=this.map.coordType,this.innerOverlay.setPosition(t.toGoogle(this.coordType))}getOffset(){return this.innerOverlay.getOffset()??exports.Point.ZERO}setOffset(t){this.innerOverlay.setOffset(t)}}const Le={toGoogle:i=>"url"in i?exports.Icon.toGoogle(i):exports.SymbolIcon.toGoogle(i),toBaidu:i=>"url"in i?exports.Icon.toBaidu(i):exports.SymbolIcon.toBaidu(i)};exports.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),labelOrigin:r.labelOrigin&&new google.maps.Point(r.labelOrigin.x,r.labelOrigin.y)}}i.toGoogle=t;function e(r){const n=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)});return n.__icon__=r,n}i.toBaidu=e})(exports.Icon||(exports.Icon={}));exports.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})(exports.SymbolIcon||(exports.SymbolIcon={}));const Yi={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}};exports.IconSequence=void 0;(i=>{function t(r){return{icon:exports.SymbolIcon.toGoogle(r.icon),offset:r.offset,repeat:r.repeat,fixedRotation:r.fixedRotation}}i.toGoogle=t;function e(r){return new BMap.IconSequence(exports.SymbolIcon.toBaidu(r.icon),r.offset,r.repeat??"",r.fixedRotation)}i.toBaidu=e})(exports.IconSequence||(exports.IconSequence={}));const Bt={toBaidu:i=>{const t=["baidu-marker-label"];i.className&&t.push(i.className);const e=new BMap.Label(`<span class="${t.join(" ")}">${i.text}</span>`);return e.setStyle({border:"0px",padding:"0px",backgroundColor:"unset",color:i.color??"black",fontSize:i.fontSize??"14px",fontWeight:i.fontWeight??"",fontFamily:i.fontFamily??"Roboto, Arial, sans-serif"}),e},toGoogle:i=>i};class ue extends Se{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&&Le.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,t.normalizePositionForBaidu),n);s.__create_by_tg__=!0,t.zIndex!==void 0&&s.setZIndex(t.zIndex);const a=t.clickable===void 0?!0:t.clickable,u=!!t.draggable,o=new ue(s,e,this,{clickable:a,draggable:u,zIndex:t.zIndex,normalize:t.normalizePositionForBaidu}).visibleOptionInternal(t.visible);return t.label&&o.setLabel(t.label),o}getPosition(){return w.fromBaidu(this.innerOverlay.getPosition(),this.coordType)}setPosition(t){var e;this.coordType=this.map.coordType,this.innerOverlay.setPosition(t.toBaidu(this.coordType,this.state.normalize)),(e=this.innerOverlay.__info_box__)==null||e.onMarkerPositionChanged()}setTitle(t){this.innerOverlay.setTitle(t)}getTitle(){return this.innerOverlay.getTitle()}setIcon(t){const e=Le.toBaidu(t);this.innerOverlay.setIcon(e),this._updateMarkerLabelOffset();const r=this.getLabelOverlay();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.innerOverlay.getLabel();e&&this.map.innerMap.removeOverlay(e),this.innerOverlay.setLabel(Bt.toBaidu(t)),this._updateMarkerLabelOffset()}_updateMarkerLabelOffset(){const t=this.innerOverlay.getIcon(),e=t.__icon__,r=this.innerOverlay.getLabel();if(r&&t&&!e&&t.imageUrl==="https://api.map.baidu.com/images/marker_red_sprite.png"){r.setOffset(new BMap.Size(9,9));return}!r||!e||!("size"in e)||r.setOffset(e.labelOrigin?new BMap.Size(e.labelOrigin.x,e.labelOrigin.y):new BMap.Size(e.size.width/2,e.size.height/2))}attachLabelOverlay(t){const e=this.getLabelOverlay();process.env.NODE_ENV!=="production"&&this.innerOverlay.getLabel()&&!e&&console.warn("当前label不是LabelOverlay, 可能是混用 MarkerLabel/marker.setLabel() 和 LabelOverlay/<tg-label> 导致的, 请不要混用他们两者",this.innerOverlay.getLabel()),e&&e.attachIcon(void 0),t&&t.attachIcon(this.innerOverlay.getIcon()),this.innerOverlay.setLabel(t==null?void 0:t.innerOverlay)}getLabelOverlay(){var t;return(t=this.innerOverlay.getLabel())==null?void 0:t.__label__}}class gt extends st{constructor(){super(...arguments);m(this,"label");m(this,"labelPositionListener");m(this,"labelVisibleListener");m(this,"labelMapChangedListener")}static create(e){const r=this.coordType,n=e.icon,s={position:e.position.toGoogle(r),title:e.title,label:e.label&&Bt.toGoogle(e.label),zIndex:e.zIndex,visible:e.visible,icon:n&&Le.toGoogle(n),clickable:e.clickable,draggable:e.draggable,crossOnDrag:e.crossOnDrag,cursor:e.cursor,anchorPoint:new google.maps.Point(0,0)};return new gt(new google.maps.Marker(s),r,this)}getPosition(){return w.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(Le.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){this.innerOverlay.setLabel(Bt.toGoogle(e))}attachLabelOverlay(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 mt extends F{constructor(){super(...arguments);m(this,"eventHubDelegate");m(this,"prevPath");m(this,"isDoingSetPath",!1);m(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 Ye(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 ft extends mt{constructor(){super(...arguments);m(this,"pathEditedEventType","path-edited")}static create(e){var s,a;const r=this.coordType,n=new BMap.Polyline(e.path.map(u=>u.toBaidu(r)),{enableClicking:e.clickable,enableEditing:e.editable,strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity!=null?e.strokeOpacity+F.OPACITY_DELTA:void 0,strokeWeight:e.strokeWeight,icons:(s=e.icons)==null?void 0:s.map(exports.IconSequence.toBaidu)});return new ft(n,r,this,{editable:!!e.editable,symbolIcons:(a=e.icons)==null?void 0:a.map(u=>u.icon)}).visibleOptionInternal(e.visible)}getPath(){return this.innerOverlay.getPath().map(e=>w.fromBaidu(e,this.coordType))}setPath(e){this.coordType=this.map.coordType,this.setPathInternal(e.map(r=>r.toBaidu(this.coordType)))}remove(){var e;super.remove(),(e=this.state.symbolIcons)!=null&&e.length&&this.map.innerMap.getOverlays().filter(n=>{var o;if(!(n instanceof BMap.Marker))return!1;const s=n;if(s.__create_by_tg__)return!1;const a=s.getIcon();if(!(a instanceof BMap.Symbol))return!1;const u=a;return u.__icon__?(o=this.state.symbolIcons)==null?void 0:o.includes(u.__icon__):!1}).forEach(n=>this.map.innerMap.removeOverlay(n))}}class yt extends ot{constructor(){super(...arguments);m(this,"pathChangedListeners");m(this,"eventHubDelegate")}static create(e){var s;const r=this.coordType,n=new google.maps.Polyline({path:e.path.map(a=>a.toGoogle(r)),clickable:e.clickable,editable:e.editable,strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,visible:e.visible,icons:(s=e.icons)==null?void 0:s.map(exports.IconSequence.toGoogle)});return new yt(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=exports.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 Ye(super.createDelegate(),{types:["path-edited"],onListen:()=>this.setupPathChangedListeners(),onCancel:()=>this.clearPathChangedListeners()})}getPath(){const e=[];return this.innerOverlay.getPath().forEach(r=>{e.push(w.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 vt extends mt{constructor(){super(...arguments);m(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(a=>a.toBaidu(r)),{enableClicking:e.clickable,enableEditing:e.editable,strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity!=null?e.strokeOpacity+F.OPACITY_DELTA:void 0,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity!=null?e.fillOpacity+F.OPACITY_DELTA:void 0});return new vt(s,r,this,{editable:!!e.editable}).visibleOptionInternal(e.visible)}getPaths(){return[this.innerOverlay.getPath().map(e=>w.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 _t extends ot{constructor(){super(...arguments);m(this,"pathChangedListeners");m(this,"eventHubDelegate")}static create(e){const r=this.coordType,n=new google.maps.Polygon({paths:e.paths.map(s=>s.map(a=>a.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 _t(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(...exports.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 Ye(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(a=>{s.push(w.fromGoogle(a,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 bt extends mt{constructor(e,r,n,s){super(e,r,n,s);m(this,"pathEditedEventType","bounds-changed");m(this,"isDoingUpdateRectangle",!1);m(this,"onBoundsChanged",({originalEvent:e})=>{if(this.isDoingUpdateRectangle)return;const r=e.prevPath??[],n=e.path;setTimeout(()=>{let s=n;const a=n.length;if(r.length===4)if(a>r.length){for(let o=0;o<a;o++)if(r[o]==null||!Ut.equals(n[o],r[o])){const h=n[(o-2+a)%a],c=n[(o-1+a)%a],p=n[o],g=n[(o+1)%a],f=n[(o+2)%a];let C;c.lat===g.lat?C=new BMap.Point(c.lng,p.lat):c.lng===g.lng?C=new BMap.Point(p.lng,c.lat):C=p,s=[h,f,C];break}}else if(a===r.length){for(let o=0;o<a;o++)if(!Ut.equals(n[o],r[o])){s=[n[o],n[(o+2)%4]];break}}else a<r.length;const u=U.fromArray(s.map(o=>w.fromBaidu(o,this.coordType)));u&&(this.isDoingUpdateRectangle=!0,this.innerOverlay.setPath(u.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!=null?e.strokeOpacity+F.OPACITY_DELTA:void 0,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity!=null?e.fillOpacity+F.OPACITY_DELTA:void 0});return new bt(n,r,this,{editable:!!e.editable}).visibleOptionInternal(e.visible)}getBounds(){return U.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 Mt extends ot{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 Mt(r,e,this)}getBounds(){return U.fromGoogle(this.innerOverlay.getBounds()??re.BOUNDS_ZERO,this.coordType)}setBounds(t){const e=t.toGoogle(this.coordType);e.equals(this.innerOverlay.getBounds())||this.innerOverlay.setBounds(e)}}const ie=1;class qi extends nt{constructor(e,r){var n;super(e);m(this,"buildInMapTypeId2BIMT");m(this,"baiduMapType2BIMT");m(this,"map");m(this,"createLabel",Vt.create);m(this,"createCircle",at.create);m(this,"createPolygon",vt.create);m(this,"createPolyline",ft.create);m(this,"createRectangle",bt.create);m(this,"createInfoWindow",ct.create);m(this,"createInfoBox",ut.create);m(this,"createMarker",ue.create);m(this,"createMapTypeControl",Xe.create);m(this,"createZoomControl",rt.create);m(this,"createStreetViewControl",et.create);m(this,"createScaleControl",Je.create);this.buildInMapTypeId2BIMT=exports.MapType.BUILD_IN_MAP_TYPES.getValueMap(N.prototype.getId),this.baiduMapType2BIMT=exports.MapType.BUILD_IN_MAP_TYPES.getValueMap(N.prototype.asBaiduMapType),fi(),this.map=new BMap.Map(e,{minZoom:r.minZoom&&r.minZoom+ie,maxZoom:r.maxZoom&&r.maxZoom+ie,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+ie),this.setGestureHandling(r.gestureHandling),r.infoWindowMode==="multi"&&console.warn("baidu不支持多个InfoWindow, 可能会出现未知问题"),r.mapStyle&&this.map.setMapStyleV2(r.mapStyle.baidu),this.setEventTargetDelegate(new Ee(this.map,this)),this.map.addEventListener("addoverlay",s=>{const a=s.target.__info_box__;a&&(console.debug("add:info-box",a),this.map.addOverlay(a))}),this.map.addEventListener("removeoverlay",s=>{const a=s.target.__info_box__;a&&(console.debug("remove:info-box",a),this.map.removeOverlay(a))})}setGestureHandling(e=q.auto){switch(e===q.auto&&(e=this.element.parentElement&&Pt.isScrollable(this.element.parentElement)?q.cooperative:q.greedy),e){case q.cooperative:this.map.disableScrollWheelZoom(),this.map.enableDragging(),this.map.enableDoubleClickZoom();break;case q.greedy:this.map.enableScrollWheelZoom(),this.map.enableDragging(),this.map.enableDoubleClickZoom();break;case q.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 w.fromBaidu(this.innerMap.pixelToPoint(new BMap.Pixel(e.x,e.y)),this.coordType)}fromLatLngToContainerPoint(e){return this.innerMap.pointToPixel(e.toBaidu(this.coordType))}setDefaultCursor(e){this.innerMap.setDefaultCursor(e)}setDraggable(e){e?this.innerMap.enableDragging():this.innerMap.disableDragging()}setDoubleClickZoom(e){e?this.map.enableDoubleClickZoom():this.map.disableDoubleClickZoom()}getCenter(){return w.fromBaidu(this.map.getCenter(),this.coordType)}setCenter(e){this.map.setCenter(e.toBaidu(this.coordType))}getZoom(){return super.getZoom()-ie}setZoom(e){return super.setZoom(e+ie)}setMinZoom(e){this.map.setMinZoom(e+ie)}setMaxZoom(e){this.map.setMaxZoom(e+ie)}setMapStyle(e){this.map.setMapStyleV2((e==null?void 0:e.baidu)??{styleJson:[]})}setBuildInMapTypeId(e){var n;const r=(n=this.buildInMapTypeId2BIMT.get(e))==null?void 0:n.asBaiduMapType();this.map.setMapType(r??T.throwError("理论上来说不可能为空"))}setMapType(e){this.map.setMapType(e.asBaiduMapType())}getMapType(){const e=this.map.getMapType(),r=this.baiduMapType2BIMT.get(e);return r||(e.__baidu_map_type__??T.throwError("实现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 U.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);m(this,"defaultAnchor",exports.ControlPositionConverter.getBaidu().toValue(e.position));m(this,"defaultOffset",new BMap.Size(0,0))}initialize(s){const a=e.onCreateElement();return s.getContainer().appendChild(a),a}};e.inner=new r,this.map.addControl(e.inner)}}removeCustomControl(e){e.inner&&(T.assert(e.inner instanceof BMap.Control,`control.inner(${e.inner})需要是BMap.Control`),this.map.removeControl(e.inner))}createMarkerClusterer(e){return new Or(this,e)}createHeatmap(e){return new vr(this,e)}createAutocomplete(e){return new mr(this,e)}createSearchBox(e){return new Lr(this,e)}createPlacesService(e){return new Er(this,e)}createMapUrls(e){return new We(e)}}class Ki extends nt{constructor(e,r){var s,a;super(e);m(this,"buildInMapTypeId2BIMT");m(this,"googleMapTypeId2BIMT");m(this,"map");m(this,"createLabel",Ht.create);m(this,"createCircle",lt.create);m(this,"createPolygon",_t.create);m(this,"createPolyline",yt.create);m(this,"createRectangle",Mt.create);m(this,"createInfoWindow",dt.create);m(this,"createInfoBox",pt.create);m(this,"createMarker",gt.create);m(this,"createMapTypeControl",ze.create);m(this,"createZoomControl",it.create);m(this,"createStreetViewControl",tt.create);m(this,"createScaleControl",Qe.create);this.mapOptions=r,this.buildInMapTypeId2BIMT=exports.MapType.BUILD_IN_MAP_TYPES.getValueMap(N.prototype.getId),this.googleMapTypeId2BIMT=exports.MapType.BUILD_IN_MAP_TYPES.getValueMap(N.prototype.getGoogleMapTypeId);const n=r.buildInMapTypeId&&this.buildInMapTypeId2BIMT.get(r.buildInMapTypeId);this.map=new google.maps.Map(e,{center:r.center.toGoogle((n??exports.MapType.NORMAL).getGoogleCoordType()),zoom:r.zoom,disableDefaultUI:!0,gestureHandling:r.gestureHandling,minZoom:r.minZoom,maxZoom:r.maxZoom,styles:(s=r.mapStyle)==null?void 0:s.google.styles,mapId:(a=r.mapStyle)==null?void 0:a.google.mapId,mapTypeId:n==null?void 0:n.getGoogleMapTypeId()}),this.setEventTargetDelegate(new le(this.map,this))}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 w.ZERO;const s=r.fromLatLngToPoint(n.getSouthWest()),a=r.fromLatLngToPoint(n.getNorthEast()),u=this.innerMap.getZoom();if(s==null||a==null||u==null)return w.ZERO;const o=Math.pow(2,u),h=new google.maps.Point(e.x/o+s.x,e.y/o+a.y);return w.fromGoogle(r.fromPointToLatLng(h)??re.LATLNG_ZERO,this.coordType)}fromLatLngToContainerPoint(e){const r=this.innerMap.getProjection(),n=this.innerMap.getBounds();if(r==null||n==null)return exports.Point.ZERO;const s=r.fromLatLngToPoint(n.getSouthWest()),a=r.fromLatLngToPoint(n.getNorthEast()),u=this.innerMap.getZoom();if(s==null||a==null||u==null)return exports.Point.ZERO;const o=Math.pow(2,u),h=r.fromLatLngToPoint(e.toGoogle(this.coordType));return h==null?exports.Point.ZERO:{x:(h.x-s.x)*o,y:(h.y-a.y)*o}}setDefaultCursor(e){this.innerMap.setOptions({draggableCursor:e})}setDraggable(e){this.innerMap.setOptions({draggable:e})}setDoubleClickZoom(e){this.map.setOptions({disableDoubleClickZoom:!e})}getCenter(){return w.fromGoogle(this.map.getCenter()??re.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==null?void 0:e.google.styles,mapId:e==null?void 0:e.google.mapId})}setBuildInMapTypeId(e){var n;const r=(n=this.buildInMapTypeId2BIMT.get(e))==null?void 0:n.getGoogleMapTypeId();this.map.setMapTypeId(r??T.throwError("理论上来说不可能为空"))}setMapType(e){e instanceof N?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__??T.throwError(`实现${e}的asGoogleMapType()时, 忘了给实例设置__google_map_type__?`))}addOverlayMapType(e){this.map.overlayMapTypes.push(e.asGoogleMapType())}removeOverlayMapType(e){exports.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?U.fromGoogle(e,this.coordType):U.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[exports.ControlPositionConverter.getGoogle().toValue(e.position)].push(e.inner))}removeCustomControl(e){if(e.inner){const r=this.map.controls[exports.ControlPositionConverter.getGoogle().toValue(e.position)];exports.MVCArrays.remove(r,e.inner)}}createMarkerClusterer(e){return new wr(this,e)}createHeatmap(e){return new yr(this,e)}createAutocomplete(e){return new gr(this,e)}createSearchBox(e){return new Pr(this,e)}createPlacesService(e){return new xr(this,e)}createMapUrls(e){return new Ze(e)}}const He=["3.0"],Xi={baidu:{version:"3.0",key:""},google:{version:"quarterly",key:"",language:"en-us",libraries:["places","visualization"]},here:{version:He[0],key:""}};let Dr;function jt(){return Dr||T.throwError("请先安装: Vue<PartialTgMapConfig>.use(TgMap, {})")}function $r(i){i!=null&&(Dr=Ir(Xi,i))}class Ji extends nt{constructor(e,r){var a;super(e);m(this,"map");m(this,"defaultLayers");this.mapOptions=r;const n=jt().here;He.includes(n.version)||T.throwError(`不支持${n.version}, HereMap当前只支持如下版本: ${He}`);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:(a=r.center)==null?void 0:a.toHere(this.coordType)}),new H.mapevents.Behavior(new H.mapevents.MapEvents(this.map)),H.ui.UI.createDefault(this.map,this.defaultLayers)}get innerMap(){return this.map}get coordType(){return R.wgs84}getCenter(){return w.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.")}setDefaultCursor(e){throw new Error("Method not implemented.")}setDraggable(e){throw new Error("Method not implemented.")}setDoubleClickZoom(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.")}createHeatmap(e){throw new Error("Method not implemented.")}createAutocomplete(e){throw new Error("Method not implemented.")}createSearchBox(e){throw new Error("Method not implemented.")}createPlacesService(e){throw new Error("Method not implemented.")}createMapUrls(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.")}createStreetViewControl(e){throw new Error("Method not implemented.")}createScaleControl(e){throw new Error("Method not implemented.")}}var j=(i=>(i.google="google",i.baidu="baidu",i.here="here",i))(j||{});exports.TgMapFactory=void 0;(i=>{function t(e,r,n){const s=exports.MapOptions.create(n);switch(e){case"google":return new Ki(r,s);case"baidu":return new qi(r,s);case"here":return new Ji(r,s)}}i.createMap=t})(exports.TgMapFactory||(exports.TgMapFactory={}));function Qi(i){throw new Error(`todo: ${i}`)}function en(i){return i}function zr(i){return i[1]!=null}function Gr(i){let t=null;return()=>t??(t=i().catch(e=>(t=null,Promise.reject(e))))}var tn={VITE_APP_DEV_KEY_BAIDU:"",VITE_APP_DEV_KEY_GOOGLE:"",VITE_APP_DEV_KEY_HERE:"",BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const rn={};function Nr(i){return exports.Objects.putIfAbsent(rn,i,()=>Gr(()=>nn({type:i,config:jt()[i]})))()}function nn({type:i,config:t}){const e=window,r=sn(i);if(exports.Objects.get(e,r))return Promise.resolve();switch(i!==j.here&&!t.key&&T.throwError(`请先配置${i}地图的key`),i){case j.google:return tn.VITE_FALSE?(bi({key:t.key,v:"3.52"}),google.maps.importLibrary("core")):er(`https://maps.googleapis.com/maps/api/js?key=${t.key}&language=${t.language}&v=${t.version}&libraries=${t.libraries.join(",")}`);case j.baidu:return er(`https://api.map.baidu.com/api?v=${t.version}&ak=${t.key}`);case j.here:return _e(ve("core",t.version)).then(()=>Promise.all([_e(ve("service",t.version)),_e(ve("mapevents",t.version)),_e(ve("clustering",t.version)),_e(ve("ui",t.version))])).catch(n=>(exports.Objects.del(e,r),Promise.reject(n)));default:T.assertNever(i)}}function ve(i,t=He[0]){return`https://js.api.here.com/v3/${t}/mapsjs-${i}.js`}function sn(i){switch(i){case j.google:return"google.maps";case j.baidu:return"BMap";case j.here:return"H"}}let on=0;function er(i,t="callback"){return new Promise((e,r)=>{const n=`__callback${on++}`;window[n]=e;const s=document.createElement("script");s.src=`${i}&${t}=${n}`,s.onerror=r,document.body.appendChild(s)})}function _e(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 Z(i,t){return{type:String,default:t,validator:e=>Object.values(i).includes(e)}}function Zr(i,t){return{type:String,default:t,validator:e=>i.includes(e)}}function G(i){return{type:i,required:!0}}function M(i,t){return{type:i,default:t}}function an(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 be={enumerable:!0,configurable:!0,get:T.noop,set:T.noop};function Wr(i){return Object.keys(i).forEach(t=>{const e=i[t];let r=!1;typeof e=="function"?(be.get=e,be.set=T.noop,r=!0):typeof e=="object"&&typeof e.get=="function"&&(be.get=e.get,be.set=e.set,r=!0),r&&(i[t]=Object.defineProperty(i,t,be))}),i}function ln(i){return Wr(i)}function Ie(){return v.createCommentVNode()}function Me(i,t){const e=i.$options[t];if(e)for(const r of e)r.call(i)}function hn(i,t){for(const e of i)if(e.$options.name===t.name)return e}function cn(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 Vr(i,t){const e={},r={},n={};return Object.keys(i).forEach(s=>{s.startsWith("on")?e[exports.Strings.pascal2kebab(s.substring(2))]=i[s]:r[s]=i[s]}),t&&Object.keys(t).forEach(s=>{s.startsWith("on")&&(n[exports.Strings.pascal2kebab(s.substring(2))]=t[s])}),{binds:r,listeners:e,listenerProps:n}}function K(i,t){return v.computed(()=>Vr(i,t))}function I(){return Function}const dn=()=>{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}},Tt="$map",pe="onCreate",ge="onDestroy",D=v.defineComponent({inject:[Tt],mounted(){Me(this,pe)},beforeUnmount(){Me(this,ge)},methods:{recreate(){Me(this,ge),Me(this,pe)}},render(){return Ie()}}),un=v.defineComponent({name:"tg-map",provide(){return{[Tt]:v.computed(()=>this.map)}},inheritAttrs:!1,props:{type:Z(j,j.google),center:G(w),centerSyncDelay:M(Number,300),currentCenter:M(w),lastCenter:M(w),zoom:G(Number),infoWindowMode:Zr(Ar),gestureHandling:Z(q),minZoom:M(Number),maxZoom:M(Number),mapStyle:M(Object),mapTypeId:Z(kt),mapType:M(Object),hideLogo:M(Boolean),onLoad:I(),"onUpdate:center":I(),"onUpdate:current-center":I(),"onUpdate:last-center":I(),"onUpdate:map-type":I(),"onUpdate:map-type-id":I(),"onUpdate:zoom":I(),onError:I()},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t,i),centerSyncTimeoutId:void 0}},data(){return{map:T.typed(),isDestroyed:!1}},computed:{propsJson(){return exports.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??exports.MapType.NORMAL)}},async mounted(){const i=this.type;try{await Nr(i)}catch(n){this.$emit("error",n);return}if(this.isDestroyed){console.warn(`tg-map(type=${i})已销毁, 不需要继续执行`);return}const t=exports.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=v.markRaw(t),this.mapType&&t.setMapType(this.mapType),"ready"in this.attrs.listeners&&console.error("地图载入完成的事件已经从ready改为了load, 请手动修改"),Q(this.attrs.listeners,t,["load"]),this.$emit("load",t),v.watch([()=>this.zoom,()=>this.center],([n,s],[a,u])=>{n!==a&&t.setZoom(n),s!==u&&(t.getCenter().equals(s)||t.setCenter(s))}),this.attrs.listenerProps["update:center"]){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()})}this.attrs.listenerProps["update:current-center"]&&(this.$emit("update:current-center",this.center),t.addEventListener("center-changed",()=>{this.$emit("update:current-center",t.getCenter())})),this.attrs.listenerProps["update:zoom"]&&t.addEventListener("zoom-changed",()=>{this.$emit("update:zoom",t.getZoom())});const e=this.attrs.listenerProps["update:map-type"],r=this.attrs.listenerProps["update:map-type-id"];(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&&(this.attrs.listenerProps["update:last-center"]&&this.$emit("update:last-center",this.map.getCenter()),this.attrs.listenerProps["update:center"]&&(clearTimeout(this.centerSyncTimeoutId),this.$emit("update:center",this.map.getCenter())))},methods:{}}),ee=(i,t)=>{const e=i.__vccOpts||i;for(const[r,n]of t)e[r]=n;return e};function pn(i,t,e,r,n,s){return v.openBlock(),v.createElementBlock("div",v.mergeProps({class:"tg-map"},i.attrs.binds),[v.createElementVNode("div",{ref:"map",class:v.normalizeClass({"tg-map__map":!0,[`tg-map__map--hide-logo-${i.type}`]:i.hideLogo})},null,2),v.createCommentVNode("",!0),i.map?v.renderSlot(i.$slots,"default",{key:1}):v.createCommentVNode("",!0),v.renderSlot(i.$slots,"overlay")],16)}const me=ee(un,[["render",pn]]);function gn(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 mn=v.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:gn}});function fn(i,t,e,r,n,s){return v.openBlock(),v.createElementBlock("div",{class:v.normalizeClass(i.$options.name),style:v.normalizeStyle({left:i.dimen(i.left),top:i.dimen(i.topValue),right:i.dimen(i.right),bottom:i.dimen(i.bottom)})},[v.renderSlot(i.$slots,"default")],6)}const Hr=ee(mn,[["render",fn]]),yn=v.defineComponent({name:"tg-custom-control",mixins:[D],props:{position:Z(k,k.RIGHT_BOTTOM)},setup(){return{control:T.lateinit()}},watch:{position(){this.recreate()}},onCreate(){It(this.$parent,me)||console.warn("请将tg-custom-control放到tg-map中");const{$el:i}=this,t=class extends lr{onCreateElement(){return i}};this.control=new t(this.position),this.$map.addCustomControl(this.control)},onDestroy(){this.$map.removeCustomControl(this.control)}});function vn(i,t,e,r,n,s){return v.openBlock(),v.createElementBlock("div",{class:v.normalizeClass(i.$options.name)},[v.renderSlot(i.$slots,"default")],2)}const jr=ee(yn,[["render",vn]]),Fr=v.defineComponent({name:"tg-map-type-control",mixins:[D],props:{position:Z(k,k.TOP_LEFT),type:Z(At),mapTypes:M(Array)},setup(){return{control:T.lateinit()}},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)}}),Ur=v.defineComponent({name:"tg-scale-control",mixins:[D],props:{position:Z(k,k.BOTTOM_RIGHT)},setup(){return{control:T.lateinit()}},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 Yr(){var e;const i=(e=v.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=T.path.basename(r,".vue"))}return t}function Ct(){const i=v.inject(Tt);let t,e;return i==null&&T.throwError(`<${Yr()||"unknown"}>必须作为<tg-map>的子代组件`),{mapRef:i,get map(){return i.value??T.throwError("map尚未初始化")},[pe](r){v.onMounted(r),t&&T.throwError(`${pe}只能调用一次`),t=r},[ge](r){v.onBeforeUnmount(r),e&&T.throwError(`${ge}只能调用一次`),e=r},recreate(){e==null||e(),t==null||t()}}}const qr=v.defineComponent({name:"tg-street-view-control",props:{position:Z(k,k.RIGHT_BOTTOM)},setup(i){let t=T.lateinit();const{map:e,onCreate:r,onDestroy:n}=Ct();return r(()=>{t=e.createStreetViewControl(i),e.addControl(t)}),n(()=>{e.removeControl(t)}),v.watch(()=>i.position,s=>{t.setPosition(s)}),Ie}}),Kr=v.defineComponent({name:"tg-zoom-control",props:{position:Z(k,k.RIGHT_BOTTOM)},setup(i){let t=T.lateinit();const{map:e,onCreate:r,onDestroy:n}=Ct();return r(()=>{t=e.createZoomControl(i),e.addControl(t)}),n(()=>{e.removeControl(t)}),v.watch(()=>i.position,s=>{t.setPosition(s)}),Ie}}),Xr=v.defineComponent({name:"tg-heatmap",props:{maxIntensity:M(Number),gradient:M(Object),opacity:M(Number),radius:M(Number),data:G(Array)},setup(i){const{map:t,onCreate:e,onDestroy:r}=Ct();let n=T.lateinit();return e(()=>{n=t.createHeatmap(i)}),r(()=>{n.remove()}),v.watch(()=>i.data,s=>n.setData(s)),v.watch([()=>i.maxIntensity,()=>i.gradient,()=>i.opacity,()=>i.radius],()=>n.setOptions(i)),Ie}}),_n=v.defineComponent({name:"tg-marker-clusterer",mixins:[D],props:{gridSize:M(Number),maxZoom:M(Number),minClusterSize:M(Number),averageCenter:M(Boolean),styles:M(Array),stylesIndexCalculator:M(Function),zIndex:M(Number)},setup(){return{clusterer:T.lateinit(),markers:T.typed([])}},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),T.Arrays.remove(this.markers,i)}}});function bn(i,t,e,r,n,s){return v.openBlock(),v.createElementBlock("div",{class:v.normalizeClass(i.$options.name)},[v.renderSlot(i.$slots,"default")],2)}const Ft=ee(_n,[["render",bn]]),Jr=v.defineComponent({name:"tg-traffic-layer",mixins:[D],setup(){return{layer:T.lateinit()}},watch:{},onCreate(){this.layer=new cr,this.$map.addLayer(this.layer)},onDestroy(){this.$map.removeLayer(this.layer)}}),Qr=v.defineComponent({name:"tg-circle",mixins:[D],inheritAttrs:!1,props:{center:G(w),radius:G(Number),clickable:M(Boolean),editable:M(Boolean),strokeColor:M(String),strokeOpacity:M(Number),strokeWeight:M(Number),visible:M(Boolean),fillColor:M(String),fillOpacity:M(Number),"onUpdate:center":I(),"onUpdate:radius":I()},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t,i),overlay:T.lateinit(),emittedRadius:void 0,emittedCenter:void 0}},watch:{center(i){if(this.emittedCenter!=null){const t=this.emittedCenter;if(this.emittedCenter=void 0,t===v.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),Q(this.attrs.listeners,this.overlay),this.attrs.listenerProps["update:center"]&&this.overlay.addEventListener("center-changed",()=>{this.$emit("update:center",this.emittedCenter=this.overlay.getCenter())}),this.attrs.listenerProps["update:radius"]&&this.overlay.addEventListener("radius-changed",()=>{this.$emit("update:radius",this.emittedRadius=this.overlay.getRadius())})},onDestroy(){this.$map.removeOverlay(this.overlay)}});class Mn extends Rr{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 Tn=v.defineComponent({name:"tg-element-overlay",mixins:[D],props:{mapPane:Z(ce,ce.overlayMouseTarget),position:G(w)},setup(){return{overlay:T.lateinit()}},watch:{position(i){this.overlay.setPosition(i)},mapPane(){this.recreate()}},methods:{content(){return this.$el}},onCreate(){this.overlay=new Mn(this.$map,this,this.content(),this.position),this.$map.addElementOverlay(this.overlay)},onDestroy(){this.$map.removeElementOverlay(this.overlay)}});function Cn(i,t,e,r,n,s){return v.openBlock(),v.createElementBlock("div",v.mergeProps({class:i.$options.name},i.$attrs),[v.renderSlot(i.$slots,"default")],16)}const ei=ee(Tn,[["render",Cn]]),On=v.defineComponent({name:"tg-marker",mixins:[D],inheritAttrs:!1,props:{position:G(w),title:M(String),label:M(Object),icon:M(Object),clickable:M(Boolean),draggable:M(Boolean),crossOnDrag:M(Boolean),cursor:M(String),zIndex:M(Number),visible:M(Boolean),normalizePositionForBaidu:M(Boolean),autoAddToClusterer:M(Boolean,!0),"onUpdate:position":I()},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t,i),marker:T.lateinit(),labelOverlay:T.typed(),info:T.typed(),emittedPosition:void 0,autoAddToClustererWhenCreate:i.autoAddToClusterer}},watch:{position(i){if(this.emittedPosition!=null){const t=this.emittedPosition;if(this.emittedPosition=void 0,t===v.toRaw(i))return}this.marker.setPosition(i)},title(i){this.marker.setTitle(i)},label(i){i?this.marker.setLabel(i):this.recreate()},icon(i){i?this.marker.setIcon(i):this.recreate()},clickable(i){this.marker instanceof ue?this.recreate():this.marker.setClickable(i)},draggable(i){this.marker.setDraggable(i)},crossOnDrag(){this.recreate()},cursor(){this.recreate()},zIndex(i){this.marker instanceof ue?this.recreate():this.marker.setZIndex(i)},visible(i){this.marker.setVisible(i)},normalizePositionForBaidu(){this.recreate()},autoAddToClusterer(){this.recreate()}},onCreate(){this.marker=this.$map.createMarker(this),this.labelOverlay&&this.marker.attachLabelOverlay(this.labelOverlay.overlay),this.$clusterer()&&this.autoAddToClusterer?this.$clusterer().onAddMarker(this.marker):this.$map.addOverlay(this.marker),this.autoAddToClustererWhenCreate=this.autoAddToClusterer,this.info&&this.info.show&&this.info.overlay.open(this.marker),Q(this.attrs.listeners,this.marker),this.attrs.listenerProps["update:position"]&&this.marker.addEventListener("dragend",i=>{this.$emit("update:position",this.emittedPosition=i.position)})},onDestroy(){this.$clusterer()&&this.autoAddToClustererWhenCreate?this.$clusterer().onRemoveMarker(this.marker):this.$map.removeOverlay(this.marker)},methods:{$clusterer(){return It(this.$parent,Ft)},onAddLabel(i){this.labelOverlay=i,this.marker&&this.marker.attachLabelOverlay(i.overlay)},onRemoveLabel(i){this.marker.attachLabelOverlay(void 0),this.labelOverlay=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 wn(i,t,e,r,n,s){return v.renderSlot(i.$slots,"default")}const ke=ee(On,[["render",wn]]),xn=v.defineComponent({name:"tg-info-box",mixins:[D],inheritAttrs:!1,props:{show:G(Boolean),position:M(w),offset:M(Object),maxWidth:M(Number),borderClass:M(String),zIndex:M(Number),"onUpdate:show":I()},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t,i),overlay:T.lateinit()}},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(),this.attrs.listenerProps["update:show"]&&this.overlay.addEventListener("closeclick",()=>{this.$emit("update:show",!1)}),Q(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 Ue(ke,this.$parent,me)},open(i){this.overlay.open(i)},close(){this.overlay.close()}}});function En(i,t,e,r,n,s){return v.openBlock(),v.createElementBlock("div",v.mergeProps({class:i.$options.name},i.attrs.binds),[v.renderSlot(i.$slots,"default")],16)}const ti=ee(xn,[["render",En]]),Pn=v.defineComponent({name:"tg-info-window",mixins:[D],inheritAttrs:!1,props:{show:G(Boolean),position:M(w),maxWidth:M(Number),offset:M(Object),disableAutoPan:M(Boolean),"onUpdate:show":I()},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t,i),overlay:T.lateinit()}},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 Ue(ke,this.$parent,me)},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)}),Q(this.attrs.listeners,this.overlay)},onDestroy(){this.$marker()?this.$marker().onRemoveInfo(this):this.overlay.close()}});function Ln(i,t,e,r,n,s){return v.withDirectives((v.openBlock(),v.createElementBlock("div",v.mergeProps({class:i.$options.name},i.attrs.binds),[v.renderSlot(i.$slots,"default")],16)),[[v.vShow,i.show]])}const ri=ee(Pn,[["render",Ln]]),Bn=v.defineComponent({name:"tg-label",mixins:[D],inheritAttrs:!1,props:{position:M(w),offset:M(Object),zIndex:M(Number),mapPane:Z(ce)},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t),overlay:T.lateinit()}},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)},mapPane(){this.recreate()}},methods:{content(){return this.$el},marker(){var i;return(i=this.$marker())==null?void 0:i.marker},$marker(){return Ue(ke,this.$parent,me)},getOptions(){return{content:this.content(),position:this.position,offset:this.offset,zIndex:this.zIndex,mapPane:this.mapPane}}},onCreate(){this.overlay=this.$map.createLabel(this.getOptions()),this.$marker()?this.$marker().onAddLabel(this):this.$map.addOverlay(this.overlay),Q(this.attrs.listeners,this.overlay)},onDestroy(){this.$marker()?this.$marker().onRemoveLabel(this):this.$map.removeOverlay(this.overlay)}});function Sn(i,t,e,r,n,s){return v.openBlock(),v.createElementBlock("div",v.mergeProps({class:i.$options.name},i.attrs.binds),[v.renderSlot(i.$slots,"default")],16)}const ii=ee(Bn,[["render",Sn]]),ni=v.defineComponent({name:"tg-polygon",mixins:[D],inheritAttrs:!1,props:{paths:G(Array),clickable:M(Boolean),editable:M(Boolean),strokeColor:M(String),strokeOpacity:M(Number),strokeWeight:M(Number),visible:M(Boolean),fillColor:M(String),fillOpacity:M(Number),"onUpdate:paths":I()},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t,i),overlay:T.lateinit(),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===v.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),Q(this.attrs.listeners,this.overlay),this.attrs.listenerProps["update:paths"]&&this.overlay.addEventListener("paths-edited",()=>{this.$emit("update:paths",this.emittedPaths=this.overlay.getPaths())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),si=v.defineComponent({name:"tg-polyline",mixins:[D],inheritAttrs:!1,props:{path:G(Array),icons:M(Array),clickable:M(Boolean),editable:M(Boolean),strokeColor:M(String),strokeOpacity:M(Number),strokeWeight:M(Number),visible:M(Boolean),"onUpdate:path":I()},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t,i),overlay:T.lateinit(),emittedPath:void 0}},watch:{path:{handler(i){if(this.emittedPath!=null){const t=this.emittedPath;if(this.emittedPath=void 0,t===v.toRaw(i))return}this.overlay.setPath(i)},deep:!0},icons:{handler(){this.recreate()},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),Q(this.attrs.listeners,this.overlay),this.attrs.listenerProps["update:path"]&&this.overlay.addEventListener("path-edited",()=>{this.$emit("update:path",this.emittedPath=this.overlay.getPath())})},onDestroy(){this.overlay.remove()}}),oi=v.defineComponent({name:"tg-rectangle",mixins:[D],inheritAttrs:!1,props:{bounds:G(Object),clickable:M(Boolean),editable:M(Boolean),strokeColor:M(String),strokeOpacity:M(Number),strokeWeight:M(Number),visible:M(Boolean),fillColor:M(String),fillOpacity:M(Number),"onUpdate:bounds":I()},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t,i),overlay:T.lateinit(),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),Q(this.attrs.listeners,this.overlay),this.attrs.listenerProps["update:bounds"]&&this.overlay.addEventListener("bounds-changed",()=>{this.$emit("update:bounds",this.emittedBounds=this.overlay.getBounds())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),In=["beforeUpdate","updated"],kn={install(i,t={}){if(t.enable!==!1){const e=v.defineComponent({beforeCreate(){const r=Yr()??"",s=(t.nameRegex||/^[A-Z]/).test(r)?a=>{t.hookNames?t.hookNames.includes(a)&&console.debug("[lifecycle]",r,a):In.includes(a)||console.debug("[lifecycle]",r,a)}:T.noop;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)}}},An=6378137;function Ce(i){return i*Math.PI/180}function tr(i){return i*180/Math.PI}function Rn(i,t){if(i.lat===t.lat&&i.lng===t.lng)return 0;const e=Ce((i.lat+t.lat)/2),r=Ce((i.lat-t.lat)/2),n=Ce((i.lng-t.lng)/2);let s=Math.sin(r),a=Math.sin(n),u=Math.sin(e);const o=An,h=1/298.257;s=s*s,a=a*a,u=u*u;const c=s*(1-a)+(1-u)*a,p=(1-s)*(1-a)+u*a,g=Math.atan(Math.sqrt(c/p)),f=Math.sqrt(c*p)/g,C=2*g*o,b=(3*f-1)/2/p,O=(3*f+1)/2/c;return C*(1+h*(b*u*(1-s)-O*(1-u)*s))}function ai(i,t,e){const n=63567523142e-4,s=1/298.257223563,a=Ce(t),u=Math.sin(a),o=Math.cos(a),h=(1-s)*Math.tan(Ce(i.lat)),c=1/Math.sqrt(1+h*h),p=h*c,g=Math.atan2(h,o),f=c*u,C=1-f*f,b=C*(6378137*6378137-n*n)/(n*n),O=1+b/16384*(4096+b*(-768+b*(320-175*b))),l=b/1024*(256+b*(-128+b*(74-47*b)));let d=0,y=0,_=0,x=e/(n*O),E=2*Math.PI;for(;Math.abs(x-E)>1e-12;){d=Math.cos(2*g+x),y=Math.sin(x),_=Math.cos(x);const W=l*y*(d+l/4*(_*(-1+2*d*d)-l/6*d*(-3+4*y*y)*(-3+4*d*d)));E=x,x=e/(n*O)+W}const L=p*y-c*_*o,A=Math.atan2(p*_+c*y*o,(1-s)*Math.sqrt(f*f+L*L)),z=Math.atan2(y*u,c*_-p*y*o),B=s/16*C*(4+s*(4-3*C)),X=z-(1-B)*s*f*(x+B*y*(d+B*_*(-1+2*d*d)));return{lng:i.lng+tr(X),lat:tr(A)}}const Dn={getDistance:Rn,getDestination:ai};var $n={VITE_APP_DEV_KEY_BAIDU:"",VITE_APP_DEV_KEY_GOOGLE:"",VITE_APP_DEV_KEY_HERE:"",BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const zn={install(i,t){if($r(t),$n.VITE_FALSE){const r=Object.assign({"./TgMap.vue":me,"./TgMapWidget.vue":Hr,"./controls/TgCustomControl.vue":jr,"./controls/TgMapTypeControl.vue":Fr,"./controls/TgScaleControl.vue":Ur,"./controls/TgStreetViewControl.vue":qr,"./controls/TgZoomControl.vue":Kr,"./extra/TgHeatmap.vue":Xr,"./extra/TgMarkerClusterer.vue":Ft,"./layers/TgTrafficLayer.vue":Jr,"./overlays/TgCircle.vue":Qr,"./overlays/TgElementOverlay.vue":ei,"./overlays/TgInfoBox.vue":ti,"./overlays/TgInfoWindow.vue":ri,"./overlays/TgLabel.vue":ii,"./overlays/TgMarker.vue":ke,"./overlays/TgPolygon.vue":ni,"./overlays/TgPolyline.vue":si,"./overlays/TgRectangle.vue":oi});Object.keys(r).forEach(n=>{const s=r[n];i.component(s.name??T.throwError(`Tg开头的组件必须设置name: ${n}`),s)})}const e=i.config.optionMergeStrategies;e[pe]=e[ge]=(r,n)=>r?[...new Set([].concat(r,n))]:Array.isArray(n)?n:[n]}};exports.AbstractControl=qe;exports.AbstractMap=nt;exports.Autocomplete=Rt;exports.BaiduAutocomplete=mr;exports.BaiduCircle=at;exports.BaiduControl=Ke;exports.BaiduHeatmap=vr;exports.BaiduInfoBoxOverlay=ut;exports.BaiduInfoWindow=ct;exports.BaiduMapTypeControl=Xe;exports.BaiduMapUrls=We;exports.BaiduMarker=ue;exports.BaiduMarkerClusterer=Or;exports.BaiduOverlay=Se;exports.BaiduPlacesService=Er;exports.BaiduPolyShape=mt;exports.BaiduPolygon=vt;exports.BaiduPolyline=ft;exports.BaiduRectangle=bt;exports.BaiduScaleControl=Je;exports.BaiduSearchBox=Lr;exports.BaiduStreetViewControl=et;exports.BaiduZoomControl=rt;exports.BuildInMapType=N;exports.BuildInMapTypeId=kt;exports.CachedValue=ae;exports.ControlPosition=k;exports.CoordType=R;exports.CustomControl=lr;exports.ElementOverlay=Rr;exports.EmptyControl=hr;exports.FastFindValues=ar;exports.GestureHandlingOptions=q;exports.GoogleAutocomplete=gr;exports.GoogleCircle=lt;exports.GoogleControl=Be;exports.GoogleHeatmap=yr;exports.GoogleInfoBoxOverlay=pt;exports.GoogleInfoWindow=dt;exports.GoogleMapTypeControl=ze;exports.GoogleMapUrls=Ze;exports.GoogleMarker=gt;exports.GoogleMarkerClusterer=wr;exports.GoogleOverlay=st;exports.GooglePlacesService=xr;exports.GooglePolygon=_t;exports.GooglePolyline=yt;exports.GoogleRectangle=Mt;exports.GoogleScaleControl=Qe;exports.GoogleSearchBox=Pr;exports.GoogleStreetViewControl=tt;exports.GoogleZoomControl=it;exports.Heatmap=Dt;exports.ImageMapType=_i;exports.InfoWindow=ht;exports.InfoWindowModeValues=Ar;exports.KeyValue=Lt;exports.LatLng=w;exports.LatLngBounds=U;exports.LifecycleLogPlugin=kn;exports.MIXIN_HOOK_CREATE=pe;exports.MIXIN_HOOK_DESTROY=ge;exports.MIXIN_MAP_NAME=Tt;exports.MapMixin=D;exports.MapPane=ce;exports.MapTypeControlType=At;exports.MapUrls=$t;exports.MapZoom=Br;exports.MarkerClusterer=Gt;exports.Overlay=Wt;exports.PlacesService=Nt;exports.SearchBox=Zt;exports.SphericalUtils=Dn;exports.SymbolPath=Yi;exports.TgCircle=Qr;exports.TgCustomControl=jr;exports.TgElementOverlay=ei;exports.TgHeatmap=Xr;exports.TgInfoBox=ti;exports.TgInfoWindow=ri;exports.TgLabel=ii;exports.TgMap=me;exports.TgMapType=j;exports.TgMapTypeControl=Fr;exports.TgMapWidget=Hr;exports.TgMarker=ke;exports.TgMarkerClusterer=Ft;exports.TgPolygon=ni;exports.TgPolyline=si;exports.TgRectangle=oi;exports.TgScaleControl=Ur;exports.TgStreetViewControl=qr;exports.TgTrafficLayer=Jr;exports.TgZoomControl=Kr;exports.TrafficLayer=cr;exports.UnionIcon=Le;exports.callHook=Me;exports.computedSaveOnThis=an;exports.createAsyncSingleton=Gr;exports.createEmptyVNode=Ie;exports.createPropertyObject=Wr;exports.createPropertyObjectTyped=ln;exports.debug=en;exports.default=zn;exports.eventProp=I;exports.extractVNodeFromSlotsByComponent=cn;exports.findAncestorComponentByType=Ue;exports.findByComponentType=hn;exports.getDestination=ai;exports.getTgMapConfig=jt;exports.isComponentByType=$e;exports.isEntryValueDef=zr;exports.isInstanceOf=pi;exports.loadCachedMap=Nr;exports.optionalProp=M;exports.requiredProp=G;exports.safeAs=gi;exports.safeAsComponent=It;exports.setTgMapConfig=$r;exports.splitAttrs=Vr;exports.stringEnumProp=Z;exports.stringUnionPropFromValues=Zr;exports.todo=Qi;exports.unwrapStringEnumValue=mi;exports.useEventLogMethods=dn;exports.useSplittedAttrs=K;exports.useTgMapInner=Ct;
17
+ `))}},1)}const n=this.innerOverlay.getOffset();let s=n.width,a=n.height;this.iconAnchor&&(s-=this.iconAnchor.width,a-=this.iconAnchor.height),r&&(s+=r.width,a+=r.height),this.innerOverlay.setOffset(new BMap.Size(s,a)),this.icon=e,this.iconAnchor=r}}class Ht extends st{static create(t){var n;const e=this.coordType,r=Fi(de.toElement(t.content),(n=t.position)==null?void 0:n.toGoogle(e),t.offset,t.mapPane,t.zIndex);return new Ht(r,e,this)}setZIndex(t){this.innerOverlay.setZIndex(t)}setContent(t){this.innerOverlay.setElement(de.toElement(t))}getPosition(){const t=this.innerOverlay.getPosition();return t?w.fromGoogle(t,this.coordType):w.ZERO}setPosition(t){this.coordType=this.map.coordType,this.innerOverlay.setPosition(t.toGoogle(this.coordType))}getOffset(){return this.innerOverlay.getOffset()??exports.Point.ZERO}setOffset(t){this.innerOverlay.setOffset(t)}}const Le={toGoogle:i=>"url"in i?exports.Icon.toGoogle(i):exports.SymbolIcon.toGoogle(i),toBaidu:i=>"url"in i?exports.Icon.toBaidu(i):exports.SymbolIcon.toBaidu(i)};exports.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),labelOrigin:r.labelOrigin&&new google.maps.Point(r.labelOrigin.x,r.labelOrigin.y)}}i.toGoogle=t;function e(r){const n=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)});return n.__icon__=r,n}i.toBaidu=e})(exports.Icon||(exports.Icon={}));exports.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})(exports.SymbolIcon||(exports.SymbolIcon={}));const Yi={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}};exports.IconSequence=void 0;(i=>{function t(r){return{icon:exports.SymbolIcon.toGoogle(r.icon),offset:r.offset,repeat:r.repeat,fixedRotation:r.fixedRotation}}i.toGoogle=t;function e(r){return new BMap.IconSequence(exports.SymbolIcon.toBaidu(r.icon),r.offset,r.repeat??"",r.fixedRotation)}i.toBaidu=e})(exports.IconSequence||(exports.IconSequence={}));const Bt={toBaidu:i=>{const t=["baidu-marker-label"];i.className&&t.push(i.className);const e=new BMap.Label(`<span class="${t.join(" ")}">${i.text}</span>`);return e.setStyle({border:"0px",padding:"0px",backgroundColor:"unset",color:i.color??"black",fontSize:i.fontSize??"14px",fontWeight:i.fontWeight??"",fontFamily:i.fontFamily??"Roboto, Arial, sans-serif"}),e},toGoogle:i=>i};class ue extends Se{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&&Le.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,t.normalizePositionForBaidu),n);s.__create_by_tg__=!0,t.zIndex!==void 0&&s.setZIndex(t.zIndex);const a=t.clickable===void 0?!0:t.clickable,u=!!t.draggable,o=new ue(s,e,this,{clickable:a,draggable:u,zIndex:t.zIndex,normalize:t.normalizePositionForBaidu}).visibleOptionInternal(t.visible);return t.label&&o.setLabel(t.label),o}getPosition(){return w.fromBaidu(this.innerOverlay.getPosition(),this.coordType)}setPosition(t){var e;this.coordType=this.map.coordType,this.innerOverlay.setPosition(t.toBaidu(this.coordType,this.state.normalize)),(e=this.innerOverlay.__info_box__)==null||e.onMarkerPositionChanged()}setTitle(t){this.innerOverlay.setTitle(t)}getTitle(){return this.innerOverlay.getTitle()}setIcon(t){const e=Le.toBaidu(t);this.innerOverlay.setIcon(e),this._updateMarkerLabelOffset();const r=this.getLabelOverlay();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.innerOverlay.getLabel();e&&this.map.innerMap.removeOverlay(e),this.innerOverlay.setLabel(Bt.toBaidu(t)),this._updateMarkerLabelOffset()}_updateMarkerLabelOffset(){const t=this.innerOverlay.getIcon(),e=t.__icon__,r=this.innerOverlay.getLabel();if(r&&t&&!e&&t.imageUrl==="https://api.map.baidu.com/images/marker_red_sprite.png"){r.setOffset(new BMap.Size(9,9));return}!r||!e||!("size"in e)||r.setOffset(e.labelOrigin?new BMap.Size(e.labelOrigin.x,e.labelOrigin.y):new BMap.Size(e.size.width/2,e.size.height/2))}attachLabelOverlay(t){const e=this.getLabelOverlay();process.env.NODE_ENV!=="production"&&this.innerOverlay.getLabel()&&!e&&console.warn("当前label不是LabelOverlay, 可能是混用 MarkerLabel/marker.setLabel() 和 LabelOverlay/<tg-label> 导致的, 请不要混用他们两者",this.innerOverlay.getLabel()),e&&e.attachIcon(void 0),t&&t.attachIcon(this.innerOverlay.getIcon()),this.innerOverlay.setLabel(t==null?void 0:t.innerOverlay)}getLabelOverlay(){var t;return(t=this.innerOverlay.getLabel())==null?void 0:t.__label__}}class gt extends st{constructor(){super(...arguments);m(this,"label");m(this,"labelPositionListener");m(this,"labelVisibleListener");m(this,"labelMapChangedListener")}static create(e){const r=this.coordType,n=e.icon,s={position:e.position.toGoogle(r),title:e.title,label:e.label&&Bt.toGoogle(e.label),zIndex:e.zIndex,visible:e.visible,icon:n&&Le.toGoogle(n),clickable:e.clickable,draggable:e.draggable,crossOnDrag:e.crossOnDrag,cursor:e.cursor,anchorPoint:new google.maps.Point(0,0)};return new gt(new google.maps.Marker(s),r,this)}getPosition(){return w.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(Le.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){this.innerOverlay.setLabel(Bt.toGoogle(e))}attachLabelOverlay(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 mt extends F{constructor(){super(...arguments);m(this,"eventHubDelegate");m(this,"prevPath");m(this,"isDoingSetPath",!1);m(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 Ye(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 ft extends mt{constructor(){super(...arguments);m(this,"pathEditedEventType","path-edited")}static create(e){var s,a;const r=this.coordType,n=new BMap.Polyline(e.path.map(u=>u.toBaidu(r)),{enableClicking:e.clickable,enableEditing:e.editable,strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity!=null?e.strokeOpacity+F.OPACITY_DELTA:void 0,strokeWeight:e.strokeWeight,icons:(s=e.icons)==null?void 0:s.map(exports.IconSequence.toBaidu)});return new ft(n,r,this,{editable:!!e.editable,symbolIcons:(a=e.icons)==null?void 0:a.map(u=>u.icon)}).visibleOptionInternal(e.visible)}getPath(){return this.innerOverlay.getPath().map(e=>w.fromBaidu(e,this.coordType))}setPath(e){this.coordType=this.map.coordType,this.setPathInternal(e.map(r=>r.toBaidu(this.coordType)))}remove(){var e;super.remove(),(e=this.state.symbolIcons)!=null&&e.length&&this.map.innerMap.getOverlays().filter(n=>{var o;if(!(n instanceof BMap.Marker))return!1;const s=n;if(s.__create_by_tg__)return!1;const a=s.getIcon();if(!(a instanceof BMap.Symbol))return!1;const u=a;return u.__icon__?(o=this.state.symbolIcons)==null?void 0:o.includes(u.__icon__):!1}).forEach(n=>this.map.innerMap.removeOverlay(n))}}class yt extends ot{constructor(){super(...arguments);m(this,"pathChangedListeners");m(this,"eventHubDelegate")}static create(e){var s;const r=this.coordType,n=new google.maps.Polyline({path:e.path.map(a=>a.toGoogle(r)),clickable:e.clickable,editable:e.editable,strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,visible:e.visible,icons:(s=e.icons)==null?void 0:s.map(exports.IconSequence.toGoogle)});return new yt(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=exports.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 Ye(super.createDelegate(),{types:["path-edited"],onListen:()=>this.setupPathChangedListeners(),onCancel:()=>this.clearPathChangedListeners()})}getPath(){const e=[];return this.innerOverlay.getPath().forEach(r=>{e.push(w.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 vt extends mt{constructor(){super(...arguments);m(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(a=>a.toBaidu(r)),{enableClicking:e.clickable,enableEditing:e.editable,strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity!=null?e.strokeOpacity+F.OPACITY_DELTA:void 0,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity!=null?e.fillOpacity+F.OPACITY_DELTA:void 0});return new vt(s,r,this,{editable:!!e.editable}).visibleOptionInternal(e.visible)}getPaths(){return[this.innerOverlay.getPath().map(e=>w.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 _t extends ot{constructor(){super(...arguments);m(this,"pathChangedListeners");m(this,"eventHubDelegate")}static create(e){const r=this.coordType,n=new google.maps.Polygon({paths:e.paths.map(s=>s.map(a=>a.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 _t(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(...exports.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 Ye(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(a=>{s.push(w.fromGoogle(a,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 bt extends mt{constructor(e,r,n,s){super(e,r,n,s);m(this,"pathEditedEventType","bounds-changed");m(this,"isDoingUpdateRectangle",!1);m(this,"onBoundsChanged",({originalEvent:e})=>{if(this.isDoingUpdateRectangle)return;const r=e.prevPath??[],n=e.path;setTimeout(()=>{let s=n;const a=n.length;if(r.length===4)if(a>r.length){for(let o=0;o<a;o++)if(r[o]==null||!Ut.equals(n[o],r[o])){const h=n[(o-2+a)%a],c=n[(o-1+a)%a],p=n[o],g=n[(o+1)%a],f=n[(o+2)%a];let C;c.lat===g.lat?C=new BMap.Point(c.lng,p.lat):c.lng===g.lng?C=new BMap.Point(p.lng,c.lat):C=p,s=[h,f,C];break}}else if(a===r.length){for(let o=0;o<a;o++)if(!Ut.equals(n[o],r[o])){s=[n[o],n[(o+2)%4]];break}}else a<r.length;const u=U.fromArray(s.map(o=>w.fromBaidu(o,this.coordType)));u&&(this.isDoingUpdateRectangle=!0,this.innerOverlay.setPath(u.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!=null?e.strokeOpacity+F.OPACITY_DELTA:void 0,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity!=null?e.fillOpacity+F.OPACITY_DELTA:void 0});return new bt(n,r,this,{editable:!!e.editable}).visibleOptionInternal(e.visible)}getBounds(){return U.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 Mt extends ot{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 Mt(r,e,this)}getBounds(){return U.fromGoogle(this.innerOverlay.getBounds()??re.BOUNDS_ZERO,this.coordType)}setBounds(t){const e=t.toGoogle(this.coordType);e.equals(this.innerOverlay.getBounds())||this.innerOverlay.setBounds(e)}}const ie=1;class qi extends nt{constructor(e,r){var n;super(e);m(this,"buildInMapTypeId2BIMT");m(this,"baiduMapType2BIMT");m(this,"map");m(this,"createLabel",Vt.create);m(this,"createCircle",at.create);m(this,"createPolygon",vt.create);m(this,"createPolyline",ft.create);m(this,"createRectangle",bt.create);m(this,"createInfoWindow",ct.create);m(this,"createInfoBox",ut.create);m(this,"createMarker",ue.create);m(this,"createMapTypeControl",Xe.create);m(this,"createZoomControl",rt.create);m(this,"createStreetViewControl",et.create);m(this,"createScaleControl",Je.create);this.buildInMapTypeId2BIMT=exports.MapType.BUILD_IN_MAP_TYPES.getValueMap(N.prototype.getId),this.baiduMapType2BIMT=exports.MapType.BUILD_IN_MAP_TYPES.getValueMap(N.prototype.asBaiduMapType),fi(),this.map=new BMap.Map(e,{minZoom:r.minZoom&&r.minZoom+ie,maxZoom:r.maxZoom&&r.maxZoom+ie,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+ie),this.setGestureHandling(r.gestureHandling),r.infoWindowMode==="multi"&&console.warn("baidu不支持多个InfoWindow, 可能会出现未知问题"),r.mapStyle&&this.map.setMapStyleV2(r.mapStyle.baidu),this.setEventTargetDelegate(new Ee(this.map,this)),this.map.addEventListener("addoverlay",s=>{const a=s.target.__info_box__;a&&(console.debug("add:info-box",a),this.map.addOverlay(a))}),this.map.addEventListener("removeoverlay",s=>{const a=s.target.__info_box__;a&&(console.debug("remove:info-box",a),this.map.removeOverlay(a))})}setGestureHandling(e=q.auto){switch(e===q.auto&&(e=this.element.parentElement&&Pt.isScrollable(this.element.parentElement)?q.cooperative:q.greedy),e){case q.cooperative:this.map.disableScrollWheelZoom(),this.map.enableDragging(),this.map.enableDoubleClickZoom();break;case q.greedy:this.map.enableScrollWheelZoom(),this.map.enableDragging(),this.map.enableDoubleClickZoom();break;case q.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 w.fromBaidu(this.innerMap.pixelToPoint(new BMap.Pixel(e.x,e.y)),this.coordType)}fromLatLngToContainerPoint(e){return this.innerMap.pointToPixel(e.toBaidu(this.coordType))}setDefaultCursor(e){this.innerMap.setDefaultCursor(e)}setDraggable(e){e?this.innerMap.enableDragging():this.innerMap.disableDragging()}setDoubleClickZoom(e){e?this.map.enableDoubleClickZoom():this.map.disableDoubleClickZoom()}getCenter(){return w.fromBaidu(this.map.getCenter(),this.coordType)}setCenter(e){this.map.setCenter(e.toBaidu(this.coordType))}getZoom(){return super.getZoom()-ie}setZoom(e){return super.setZoom(e+ie)}setMinZoom(e){this.map.setMinZoom(e+ie)}setMaxZoom(e){this.map.setMaxZoom(e+ie)}setMapStyle(e){this.map.setMapStyleV2((e==null?void 0:e.baidu)??{styleJson:[]})}setBuildInMapTypeId(e){var n;const r=(n=this.buildInMapTypeId2BIMT.get(e))==null?void 0:n.asBaiduMapType();this.map.setMapType(r??T.throwError("理论上来说不可能为空"))}setMapType(e){this.map.setMapType(e.asBaiduMapType())}getMapType(){const e=this.map.getMapType(),r=this.baiduMapType2BIMT.get(e);return r||(e.__baidu_map_type__??T.throwError("实现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 U.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);m(this,"defaultAnchor",exports.ControlPositionConverter.getBaidu().toValue(e.position));m(this,"defaultOffset",new BMap.Size(0,0))}initialize(s){const a=e.onCreateElement();return s.getContainer().appendChild(a),a}};e.inner=new r,this.map.addControl(e.inner)}}removeCustomControl(e){e.inner&&(T.assert(e.inner instanceof BMap.Control,`control.inner(${e.inner})需要是BMap.Control`),this.map.removeControl(e.inner))}createMarkerClusterer(e){return new Or(this,e)}createHeatmap(e){return new vr(this,e)}createAutocomplete(e){return new mr(this,e)}createSearchBox(e){return new Lr(this,e)}createPlacesService(e){return new Er(this,e)}createMapUrls(e){return new We(e)}}class Ki extends nt{constructor(e,r){var s,a;super(e);m(this,"buildInMapTypeId2BIMT");m(this,"googleMapTypeId2BIMT");m(this,"map");m(this,"createLabel",Ht.create);m(this,"createCircle",lt.create);m(this,"createPolygon",_t.create);m(this,"createPolyline",yt.create);m(this,"createRectangle",Mt.create);m(this,"createInfoWindow",dt.create);m(this,"createInfoBox",pt.create);m(this,"createMarker",gt.create);m(this,"createMapTypeControl",ze.create);m(this,"createZoomControl",it.create);m(this,"createStreetViewControl",tt.create);m(this,"createScaleControl",Qe.create);this.mapOptions=r,this.buildInMapTypeId2BIMT=exports.MapType.BUILD_IN_MAP_TYPES.getValueMap(N.prototype.getId),this.googleMapTypeId2BIMT=exports.MapType.BUILD_IN_MAP_TYPES.getValueMap(N.prototype.getGoogleMapTypeId);const n=r.buildInMapTypeId&&this.buildInMapTypeId2BIMT.get(r.buildInMapTypeId);this.map=new google.maps.Map(e,{center:r.center.toGoogle((n??exports.MapType.NORMAL).getGoogleCoordType()),zoom:r.zoom,disableDefaultUI:!0,gestureHandling:r.gestureHandling,minZoom:r.minZoom,maxZoom:r.maxZoom,styles:(s=r.mapStyle)==null?void 0:s.google.styles,mapId:(a=r.mapStyle)==null?void 0:a.google.mapId,mapTypeId:n==null?void 0:n.getGoogleMapTypeId()}),this.setEventTargetDelegate(new le(this.map,this))}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 w.ZERO;const s=r.fromLatLngToPoint(n.getSouthWest()),a=r.fromLatLngToPoint(n.getNorthEast()),u=this.innerMap.getZoom();if(s==null||a==null||u==null)return w.ZERO;const o=Math.pow(2,u),h=new google.maps.Point(e.x/o+s.x,e.y/o+a.y);return w.fromGoogle(r.fromPointToLatLng(h)??re.LATLNG_ZERO,this.coordType)}fromLatLngToContainerPoint(e){const r=this.innerMap.getProjection(),n=this.innerMap.getBounds();if(r==null||n==null)return exports.Point.ZERO;const s=r.fromLatLngToPoint(n.getSouthWest()),a=r.fromLatLngToPoint(n.getNorthEast()),u=this.innerMap.getZoom();if(s==null||a==null||u==null)return exports.Point.ZERO;const o=Math.pow(2,u),h=r.fromLatLngToPoint(e.toGoogle(this.coordType));return h==null?exports.Point.ZERO:{x:(h.x-s.x)*o,y:(h.y-a.y)*o}}setDefaultCursor(e){this.innerMap.setOptions({draggableCursor:e})}setDraggable(e){this.innerMap.setOptions({draggable:e})}setDoubleClickZoom(e){this.map.setOptions({disableDoubleClickZoom:!e})}getCenter(){return w.fromGoogle(this.map.getCenter()??re.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==null?void 0:e.google.styles,mapId:e==null?void 0:e.google.mapId})}setBuildInMapTypeId(e){var n;const r=(n=this.buildInMapTypeId2BIMT.get(e))==null?void 0:n.getGoogleMapTypeId();this.map.setMapTypeId(r??T.throwError("理论上来说不可能为空"))}setMapType(e){e instanceof N?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__??T.throwError(`实现${e}的asGoogleMapType()时, 忘了给实例设置__google_map_type__?`))}addOverlayMapType(e){this.map.overlayMapTypes.push(e.asGoogleMapType())}removeOverlayMapType(e){exports.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?U.fromGoogle(e,this.coordType):U.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[exports.ControlPositionConverter.getGoogle().toValue(e.position)].push(e.inner))}removeCustomControl(e){if(e.inner){const r=this.map.controls[exports.ControlPositionConverter.getGoogle().toValue(e.position)];exports.MVCArrays.remove(r,e.inner)}}createMarkerClusterer(e){return new wr(this,e)}createHeatmap(e){return new yr(this,e)}createAutocomplete(e){return new gr(this,e)}createSearchBox(e){return new Pr(this,e)}createPlacesService(e){return new xr(this,e)}createMapUrls(e){return new Ze(e)}}const He=["3.0"],Xi={baidu:{version:"3.0",key:""},google:{version:"quarterly",key:"",language:"en-us",libraries:["places","visualization"]},here:{version:He[0],key:""}};let Dr;function jt(){return Dr||T.throwError("请先安装: Vue<PartialTgMapConfig>.use(TgMap, {})")}function $r(i){i!=null&&(Dr=Ir(Xi,i))}class Ji extends nt{constructor(e,r){var a;super(e);m(this,"map");m(this,"defaultLayers");this.mapOptions=r;const n=jt().here;He.includes(n.version)||T.throwError(`不支持${n.version}, HereMap当前只支持如下版本: ${He}`);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:(a=r.center)==null?void 0:a.toHere(this.coordType)}),new H.mapevents.Behavior(new H.mapevents.MapEvents(this.map)),H.ui.UI.createDefault(this.map,this.defaultLayers)}get innerMap(){return this.map}get coordType(){return R.wgs84}getCenter(){return w.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.")}setDefaultCursor(e){throw new Error("Method not implemented.")}setDraggable(e){throw new Error("Method not implemented.")}setDoubleClickZoom(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.")}createHeatmap(e){throw new Error("Method not implemented.")}createAutocomplete(e){throw new Error("Method not implemented.")}createSearchBox(e){throw new Error("Method not implemented.")}createPlacesService(e){throw new Error("Method not implemented.")}createMapUrls(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.")}createStreetViewControl(e){throw new Error("Method not implemented.")}createScaleControl(e){throw new Error("Method not implemented.")}}var j=(i=>(i.google="google",i.baidu="baidu",i.here="here",i))(j||{});exports.TgMapFactory=void 0;(i=>{function t(e,r,n){const s=exports.MapOptions.create(n);switch(e){case"google":return new Ki(r,s);case"baidu":return new qi(r,s);case"here":return new Ji(r,s)}}i.createMap=t})(exports.TgMapFactory||(exports.TgMapFactory={}));function Qi(i){throw new Error(`todo: ${i}`)}function en(i){return i}function zr(i){return i[1]!=null}function Gr(i){let t=null;return()=>t??(t=i().catch(e=>(t=null,Promise.reject(e))))}var tn={VITE_APP_DEV_KEY_BAIDU:"",VITE_APP_DEV_KEY_GOOGLE:"",VITE_APP_DEV_KEY_HERE:"",BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const rn={};function Nr(i){return exports.Objects.putIfAbsent(rn,i,()=>Gr(()=>nn({type:i,config:jt()[i]})))()}function nn({type:i,config:t}){const e=window,r=sn(i);if(exports.Objects.get(e,r))return Promise.resolve();switch(i!==j.here&&!t.key&&T.throwError(`请先配置${i}地图的key`),i){case j.google:return tn.VITE_FALSE?(bi({key:t.key,v:"3.52"}),google.maps.importLibrary("core")):er(`https://maps.googleapis.com/maps/api/js?key=${t.key}&language=${t.language}&v=${t.version}&libraries=${t.libraries.join(",")}`);case j.baidu:return er(`https://api.map.baidu.com/api?v=${t.version}&ak=${t.key}`);case j.here:return _e(ve("core",t.version)).then(()=>Promise.all([_e(ve("service",t.version)),_e(ve("mapevents",t.version)),_e(ve("clustering",t.version)),_e(ve("ui",t.version))])).catch(n=>(exports.Objects.del(e,r),Promise.reject(n)));default:T.assertNever(i)}}function ve(i,t=He[0]){return`https://js.api.here.com/v3/${t}/mapsjs-${i}.js`}function sn(i){switch(i){case j.google:return"google.maps";case j.baidu:return"BMap";case j.here:return"H"}}let on=0;function er(i,t="callback"){return new Promise((e,r)=>{const n=`__callback${on++}`;window[n]=e;const s=document.createElement("script");s.src=`${i}&${t}=${n}`,s.onerror=r,document.body.appendChild(s)})}function _e(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 Z(i,t){return{type:String,default:t,validator:e=>Object.values(i).includes(e)}}function Zr(i,t){return{type:String,default:t,validator:e=>i.includes(e)}}function G(i){return{type:i,required:!0}}function M(i,t){return{type:i,default:t}}function an(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 be={enumerable:!0,configurable:!0,get:T.noop,set:T.noop};function Wr(i){return Object.keys(i).forEach(t=>{const e=i[t];let r=!1;typeof e=="function"?(be.get=e,be.set=T.noop,r=!0):typeof e=="object"&&typeof e.get=="function"&&(be.get=e.get,be.set=e.set,r=!0),r&&(i[t]=Object.defineProperty(i,t,be))}),i}function ln(i){return Wr(i)}function Ie(){return v.createCommentVNode()}function Me(i,t){const e=i.$options[t];if(e)for(const r of e)r.call(i)}function hn(i,t){for(const e of i)if(e.$options.name===t.name)return e}function cn(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 Vr(i,t){const e={},r={},n={};return Object.keys(i).forEach(s=>{s.startsWith("on")?e[exports.Strings.pascal2kebab(s.substring(2))]=i[s]:r[s]=i[s]}),t&&Object.keys(t).forEach(s=>{s.startsWith("on")&&(n[exports.Strings.pascal2kebab(s.substring(2))]=t[s])}),{binds:r,listeners:e,listenerProps:n}}function K(i,t){return v.computed(()=>Vr(i,t))}function I(){return Function}const dn=()=>{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}},Tt="$map",pe="onCreate",ge="onDestroy",D=v.defineComponent({inject:[Tt],mounted(){Me(this,pe)},beforeUnmount(){Me(this,ge)},methods:{recreate(){Me(this,ge),Me(this,pe)}},render(){return Ie()}}),un=v.defineComponent({name:"tg-map",provide(){return{[Tt]:v.computed(()=>this.map)}},inheritAttrs:!1,props:{type:Z(j,j.google),center:G(w),centerSyncDelay:M(Number,300),currentCenter:M(w),lastCenter:M(w),zoom:G(Number),infoWindowMode:Zr(Ar),gestureHandling:Z(q),minZoom:M(Number),maxZoom:M(Number),mapStyle:M(Object),mapTypeId:Z(kt),mapType:M(Object),hideLogo:M(Boolean),onLoad:I(),"onUpdate:center":I(),"onUpdate:current-center":I(),"onUpdate:last-center":I(),"onUpdate:map-type":I(),"onUpdate:map-type-id":I(),"onUpdate:zoom":I(),onError:I()},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t,i),centerSyncTimeoutId:void 0}},data(){return{map:T.typed(),isDestroyed:!1}},computed:{propsJson(){return exports.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??exports.MapType.NORMAL)}},async mounted(){const i=this.type;try{await Nr(i)}catch(n){this.$emit("error",n);return}if(this.isDestroyed){console.warn(`tg-map(type=${i})已销毁, 不需要继续执行`);return}const t=exports.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=v.markRaw(t),this.mapType&&t.setMapType(this.mapType),"ready"in this.attrs.listeners&&console.error("地图载入完成的事件已经从ready改为了load, 请手动修改"),Q(this.attrs.listeners,t,["load"]),this.$emit("load",t),v.watch([()=>this.zoom,()=>this.center],([n,s],[a,u])=>{n!==a&&t.setZoom(n),s!==u&&(t.getCenter().equals(s)||t.setCenter(s))}),this.attrs.listenerProps["update:center"]){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()})}this.attrs.listenerProps["update:current-center"]&&(this.$emit("update:current-center",this.center),t.addEventListener("center-changed",()=>{this.$emit("update:current-center",t.getCenter())})),this.attrs.listenerProps["update:zoom"]&&t.addEventListener("zoom-changed",()=>{this.$emit("update:zoom",t.getZoom())});const e=this.attrs.listenerProps["update:map-type"],r=this.attrs.listenerProps["update:map-type-id"];(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&&(this.attrs.listenerProps["update:last-center"]&&this.$emit("update:last-center",this.map.getCenter()),this.attrs.listenerProps["update:center"]&&(clearTimeout(this.centerSyncTimeoutId),this.$emit("update:center",this.map.getCenter())))},methods:{}}),ee=(i,t)=>{const e=i.__vccOpts||i;for(const[r,n]of t)e[r]=n;return e};function pn(i,t,e,r,n,s){return v.openBlock(),v.createElementBlock("div",v.mergeProps({class:"tg-map"},i.attrs.binds),[v.createElementVNode("div",{ref:"map",class:v.normalizeClass({"tg-map__map":!0,[`tg-map__map--hide-logo-${i.type}`]:i.hideLogo})},null,2),v.createCommentVNode("",!0),i.map?v.renderSlot(i.$slots,"default",{key:1}):v.createCommentVNode("",!0),v.renderSlot(i.$slots,"overlay")],16)}const me=ee(un,[["render",pn]]);function gn(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 mn=v.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:gn}});function fn(i,t,e,r,n,s){return v.openBlock(),v.createElementBlock("div",{class:v.normalizeClass(i.$options.name),style:v.normalizeStyle({left:i.dimen(i.left),top:i.dimen(i.topValue),right:i.dimen(i.right),bottom:i.dimen(i.bottom)})},[v.renderSlot(i.$slots,"default")],6)}const Hr=ee(mn,[["render",fn]]),yn=v.defineComponent({name:"tg-custom-control",mixins:[D],props:{position:Z(k,k.RIGHT_BOTTOM)},setup(){return{control:T.lateinit()}},watch:{position(){this.recreate()}},onCreate(){It(this.$parent,me)||console.warn("请将tg-custom-control放到tg-map中");const{$el:i}=this,t=class extends lr{onCreateElement(){return i}};this.control=new t(this.position),this.$map.addCustomControl(this.control)},onDestroy(){this.$map.removeCustomControl(this.control)}});function vn(i,t,e,r,n,s){return v.openBlock(),v.createElementBlock("div",{class:v.normalizeClass(i.$options.name)},[v.renderSlot(i.$slots,"default")],2)}const jr=ee(yn,[["render",vn]]),Fr=v.defineComponent({name:"tg-map-type-control",mixins:[D],props:{position:Z(k,k.TOP_LEFT),type:Z(At),mapTypes:M(Array)},setup(){return{control:T.lateinit()}},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)}}),Ur=v.defineComponent({name:"tg-scale-control",mixins:[D],props:{position:Z(k,k.BOTTOM_RIGHT)},setup(){return{control:T.lateinit()}},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 Yr(){var e;const i=(e=v.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=T.path.basename(r,".vue"))}return t}function Ct(){const i=v.inject(Tt);let t,e;return i==null&&T.throwError(`<${Yr()||"unknown"}>必须作为<tg-map>的子代组件`),{mapRef:i,get map(){return i.value??T.throwError("map尚未初始化")},[pe](r){v.onMounted(r),t&&T.throwError(`${pe}只能调用一次`),t=r},[ge](r){v.onBeforeUnmount(r),e&&T.throwError(`${ge}只能调用一次`),e=r},recreate(){e==null||e(),t==null||t()}}}const qr=v.defineComponent({name:"tg-street-view-control",props:{position:Z(k,k.RIGHT_BOTTOM)},setup(i){let t=T.lateinit();const{map:e,onCreate:r,onDestroy:n}=Ct();return r(()=>{t=e.createStreetViewControl(i),e.addControl(t)}),n(()=>{e.removeControl(t)}),v.watch(()=>i.position,s=>{t.setPosition(s)}),Ie}}),Kr=v.defineComponent({name:"tg-zoom-control",props:{position:Z(k,k.RIGHT_BOTTOM)},setup(i){let t=T.lateinit();const{map:e,onCreate:r,onDestroy:n}=Ct();return r(()=>{t=e.createZoomControl(i),e.addControl(t)}),n(()=>{e.removeControl(t)}),v.watch(()=>i.position,s=>{t.setPosition(s)}),Ie}}),Xr=v.defineComponent({name:"tg-heatmap",props:{maxIntensity:M(Number),gradient:M(Object),opacity:M(Number),radius:M(Number),data:G(Array)},setup(i){const{map:t,onCreate:e,onDestroy:r}=Ct();let n=T.lateinit();return e(()=>{n=t.createHeatmap(i)}),r(()=>{n.remove()}),v.watch(()=>i.data,s=>n.setData(s)),v.watch([()=>i.maxIntensity,()=>i.gradient,()=>i.opacity,()=>i.radius],()=>n.setOptions(i)),Ie}}),_n=v.defineComponent({name:"tg-marker-clusterer",mixins:[D],props:{gridSize:M(Number),maxZoom:M(Number),minClusterSize:M(Number),averageCenter:M(Boolean),styles:M(Array),stylesIndexCalculator:M(Function),zIndex:M(Number)},setup(){return{clusterer:T.lateinit(),markers:T.typed([])}},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),T.Arrays.remove(this.markers,i)}}});function bn(i,t,e,r,n,s){return v.openBlock(),v.createElementBlock("div",{class:v.normalizeClass(i.$options.name)},[v.renderSlot(i.$slots,"default")],2)}const Ft=ee(_n,[["render",bn]]),Jr=v.defineComponent({name:"tg-traffic-layer",mixins:[D],setup(){return{layer:T.lateinit()}},watch:{},onCreate(){this.layer=new cr,this.$map.addLayer(this.layer)},onDestroy(){this.$map.removeLayer(this.layer)}}),Qr=v.defineComponent({name:"tg-circle",mixins:[D],inheritAttrs:!1,props:{center:G(w),radius:G(Number),clickable:M(Boolean),editable:M(Boolean),strokeColor:M(String),strokeOpacity:M(Number),strokeWeight:M(Number),visible:M(Boolean),fillColor:M(String),fillOpacity:M(Number),"onUpdate:center":I(),"onUpdate:radius":I()},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t,i),overlay:T.lateinit(),emittedRadius:void 0,emittedCenter:void 0}},watch:{center(i){if(this.emittedCenter!=null){const t=this.emittedCenter;if(this.emittedCenter=void 0,t===v.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),Q(this.attrs.listeners,this.overlay),this.attrs.listenerProps["update:center"]&&this.overlay.addEventListener("center-changed",()=>{this.$emit("update:center",this.emittedCenter=this.overlay.getCenter())}),this.attrs.listenerProps["update:radius"]&&this.overlay.addEventListener("radius-changed",()=>{this.$emit("update:radius",this.emittedRadius=this.overlay.getRadius())})},onDestroy(){this.$map.removeOverlay(this.overlay)}});class Mn extends Rr{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 Tn=v.defineComponent({name:"tg-element-overlay",mixins:[D],props:{mapPane:Z(ce,ce.overlayMouseTarget),position:G(w)},setup(){return{overlay:T.lateinit()}},watch:{position(i){this.overlay.setPosition(i)},mapPane(){this.recreate()}},methods:{content(){return this.$el}},onCreate(){this.overlay=new Mn(this.$map,this,this.content(),this.position),this.$map.addElementOverlay(this.overlay)},onDestroy(){this.$map.removeElementOverlay(this.overlay)}});function Cn(i,t,e,r,n,s){return v.openBlock(),v.createElementBlock("div",v.mergeProps({class:i.$options.name},i.$attrs),[v.renderSlot(i.$slots,"default")],16)}const ei=ee(Tn,[["render",Cn]]),On=v.defineComponent({name:"tg-marker",mixins:[D],inheritAttrs:!1,props:{position:G(w),title:M(String),label:M(Object),icon:M(Object),clickable:M(Boolean),draggable:M(Boolean),crossOnDrag:M(Boolean),cursor:M(String),zIndex:M(Number),visible:M(Boolean),normalizePositionForBaidu:M(Boolean),autoAddToClusterer:M(Boolean,!0),"onUpdate:position":I()},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t,i),marker:T.lateinit(),labelOverlay:T.typed(),info:T.typed(),emittedPosition:void 0,autoAddToClustererWhenCreate:i.autoAddToClusterer}},watch:{position(i){if(this.emittedPosition!=null){const t=this.emittedPosition;if(this.emittedPosition=void 0,t===v.toRaw(i))return}this.marker.setPosition(i)},title(i){this.marker.setTitle(i)},label(i,t){T.deepEqual(i,t)||(i?this.marker.setLabel(i):this.recreate())},icon(i){i?this.marker.setIcon(i):this.recreate()},clickable(i){this.marker instanceof ue?this.recreate():this.marker.setClickable(i)},draggable(i){this.marker.setDraggable(i)},crossOnDrag(){this.recreate()},cursor(){this.recreate()},zIndex(i){this.marker instanceof ue?this.recreate():this.marker.setZIndex(i)},visible(i){this.marker.setVisible(i)},normalizePositionForBaidu(){this.recreate()},autoAddToClusterer(){this.recreate()}},onCreate(){this.marker=this.$map.createMarker(this),this.labelOverlay&&this.marker.attachLabelOverlay(this.labelOverlay.overlay),this.$clusterer()&&this.autoAddToClusterer?this.$clusterer().onAddMarker(this.marker):this.$map.addOverlay(this.marker),this.autoAddToClustererWhenCreate=this.autoAddToClusterer,this.info&&this.info.show&&this.info.overlay.open(this.marker),Q(this.attrs.listeners,this.marker),this.attrs.listenerProps["update:position"]&&this.marker.addEventListener("dragend",i=>{this.$emit("update:position",this.emittedPosition=i.position)})},onDestroy(){this.$clusterer()&&this.autoAddToClustererWhenCreate?this.$clusterer().onRemoveMarker(this.marker):this.$map.removeOverlay(this.marker)},methods:{$clusterer(){return It(this.$parent,Ft)},onAddLabel(i){this.labelOverlay=i,this.marker&&this.marker.attachLabelOverlay(i.overlay)},onRemoveLabel(i){this.marker.attachLabelOverlay(void 0),this.labelOverlay=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 wn(i,t,e,r,n,s){return v.renderSlot(i.$slots,"default")}const ke=ee(On,[["render",wn]]),xn=v.defineComponent({name:"tg-info-box",mixins:[D],inheritAttrs:!1,props:{show:G(Boolean),position:M(w),offset:M(Object),maxWidth:M(Number),borderClass:M(String),zIndex:M(Number),"onUpdate:show":I()},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t,i),overlay:T.lateinit()}},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(),this.attrs.listenerProps["update:show"]&&this.overlay.addEventListener("closeclick",()=>{this.$emit("update:show",!1)}),Q(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 Ue(ke,this.$parent,me)},open(i){this.overlay.open(i)},close(){this.overlay.close()}}});function En(i,t,e,r,n,s){return v.openBlock(),v.createElementBlock("div",v.mergeProps({class:i.$options.name},i.attrs.binds),[v.renderSlot(i.$slots,"default")],16)}const ti=ee(xn,[["render",En]]),Pn=v.defineComponent({name:"tg-info-window",mixins:[D],inheritAttrs:!1,props:{show:G(Boolean),position:M(w),maxWidth:M(Number),offset:M(Object),disableAutoPan:M(Boolean),"onUpdate:show":I()},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t,i),overlay:T.lateinit()}},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 Ue(ke,this.$parent,me)},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)}),Q(this.attrs.listeners,this.overlay)},onDestroy(){this.$marker()?this.$marker().onRemoveInfo(this):this.overlay.close()}});function Ln(i,t,e,r,n,s){return v.withDirectives((v.openBlock(),v.createElementBlock("div",v.mergeProps({class:i.$options.name},i.attrs.binds),[v.renderSlot(i.$slots,"default")],16)),[[v.vShow,i.show]])}const ri=ee(Pn,[["render",Ln]]),Bn=v.defineComponent({name:"tg-label",mixins:[D],inheritAttrs:!1,props:{position:M(w),offset:M(Object),zIndex:M(Number),mapPane:Z(ce)},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t),overlay:T.lateinit()}},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)},mapPane(){this.recreate()}},methods:{content(){return this.$el},marker(){var i;return(i=this.$marker())==null?void 0:i.marker},$marker(){return Ue(ke,this.$parent,me)},getOptions(){return{content:this.content(),position:this.position,offset:this.offset,zIndex:this.zIndex,mapPane:this.mapPane}}},onCreate(){this.overlay=this.$map.createLabel(this.getOptions()),this.$marker()?this.$marker().onAddLabel(this):this.$map.addOverlay(this.overlay),Q(this.attrs.listeners,this.overlay)},onDestroy(){this.$marker()?this.$marker().onRemoveLabel(this):this.$map.removeOverlay(this.overlay)}});function Sn(i,t,e,r,n,s){return v.openBlock(),v.createElementBlock("div",v.mergeProps({class:i.$options.name},i.attrs.binds),[v.renderSlot(i.$slots,"default")],16)}const ii=ee(Bn,[["render",Sn]]),ni=v.defineComponent({name:"tg-polygon",mixins:[D],inheritAttrs:!1,props:{paths:G(Array),clickable:M(Boolean),editable:M(Boolean),strokeColor:M(String),strokeOpacity:M(Number),strokeWeight:M(Number),visible:M(Boolean),fillColor:M(String),fillOpacity:M(Number),"onUpdate:paths":I()},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t,i),overlay:T.lateinit(),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===v.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),Q(this.attrs.listeners,this.overlay),this.attrs.listenerProps["update:paths"]&&this.overlay.addEventListener("paths-edited",()=>{this.$emit("update:paths",this.emittedPaths=this.overlay.getPaths())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),si=v.defineComponent({name:"tg-polyline",mixins:[D],inheritAttrs:!1,props:{path:G(Array),icons:M(Array),clickable:M(Boolean),editable:M(Boolean),strokeColor:M(String),strokeOpacity:M(Number),strokeWeight:M(Number),visible:M(Boolean),"onUpdate:path":I()},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t,i),overlay:T.lateinit(),emittedPath:void 0}},watch:{path:{handler(i){if(this.emittedPath!=null){const t=this.emittedPath;if(this.emittedPath=void 0,t===v.toRaw(i))return}this.overlay.setPath(i)},deep:!0},icons:{handler(){this.recreate()},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),Q(this.attrs.listeners,this.overlay),this.attrs.listenerProps["update:path"]&&this.overlay.addEventListener("path-edited",()=>{this.$emit("update:path",this.emittedPath=this.overlay.getPath())})},onDestroy(){this.overlay.remove()}}),oi=v.defineComponent({name:"tg-rectangle",mixins:[D],inheritAttrs:!1,props:{bounds:G(Object),clickable:M(Boolean),editable:M(Boolean),strokeColor:M(String),strokeOpacity:M(Number),strokeWeight:M(Number),visible:M(Boolean),fillColor:M(String),fillOpacity:M(Number),"onUpdate:bounds":I()},emits:void 0,setup(i,{attrs:t}){return{attrs:K(t,i),overlay:T.lateinit(),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),Q(this.attrs.listeners,this.overlay),this.attrs.listenerProps["update:bounds"]&&this.overlay.addEventListener("bounds-changed",()=>{this.$emit("update:bounds",this.emittedBounds=this.overlay.getBounds())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),In=["beforeUpdate","updated"],kn={install(i,t={}){if(t.enable!==!1){const e=v.defineComponent({beforeCreate(){const r=Yr()??"",s=(t.nameRegex||/^[A-Z]/).test(r)?a=>{t.hookNames?t.hookNames.includes(a)&&console.debug("[lifecycle]",r,a):In.includes(a)||console.debug("[lifecycle]",r,a)}:T.noop;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)}}},An=6378137;function Ce(i){return i*Math.PI/180}function tr(i){return i*180/Math.PI}function Rn(i,t){if(i.lat===t.lat&&i.lng===t.lng)return 0;const e=Ce((i.lat+t.lat)/2),r=Ce((i.lat-t.lat)/2),n=Ce((i.lng-t.lng)/2);let s=Math.sin(r),a=Math.sin(n),u=Math.sin(e);const o=An,h=1/298.257;s=s*s,a=a*a,u=u*u;const c=s*(1-a)+(1-u)*a,p=(1-s)*(1-a)+u*a,g=Math.atan(Math.sqrt(c/p)),f=Math.sqrt(c*p)/g,C=2*g*o,b=(3*f-1)/2/p,O=(3*f+1)/2/c;return C*(1+h*(b*u*(1-s)-O*(1-u)*s))}function ai(i,t,e){const n=63567523142e-4,s=1/298.257223563,a=Ce(t),u=Math.sin(a),o=Math.cos(a),h=(1-s)*Math.tan(Ce(i.lat)),c=1/Math.sqrt(1+h*h),p=h*c,g=Math.atan2(h,o),f=c*u,C=1-f*f,b=C*(6378137*6378137-n*n)/(n*n),O=1+b/16384*(4096+b*(-768+b*(320-175*b))),l=b/1024*(256+b*(-128+b*(74-47*b)));let d=0,y=0,_=0,x=e/(n*O),E=2*Math.PI;for(;Math.abs(x-E)>1e-12;){d=Math.cos(2*g+x),y=Math.sin(x),_=Math.cos(x);const W=l*y*(d+l/4*(_*(-1+2*d*d)-l/6*d*(-3+4*y*y)*(-3+4*d*d)));E=x,x=e/(n*O)+W}const L=p*y-c*_*o,A=Math.atan2(p*_+c*y*o,(1-s)*Math.sqrt(f*f+L*L)),z=Math.atan2(y*u,c*_-p*y*o),B=s/16*C*(4+s*(4-3*C)),X=z-(1-B)*s*f*(x+B*y*(d+B*_*(-1+2*d*d)));return{lng:i.lng+tr(X),lat:tr(A)}}const Dn={getDistance:Rn,getDestination:ai};var $n={VITE_APP_DEV_KEY_BAIDU:"",VITE_APP_DEV_KEY_GOOGLE:"",VITE_APP_DEV_KEY_HERE:"",BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const zn={install(i,t){if($r(t),$n.VITE_FALSE){const r=Object.assign({"./TgMap.vue":me,"./TgMapWidget.vue":Hr,"./controls/TgCustomControl.vue":jr,"./controls/TgMapTypeControl.vue":Fr,"./controls/TgScaleControl.vue":Ur,"./controls/TgStreetViewControl.vue":qr,"./controls/TgZoomControl.vue":Kr,"./extra/TgHeatmap.vue":Xr,"./extra/TgMarkerClusterer.vue":Ft,"./layers/TgTrafficLayer.vue":Jr,"./overlays/TgCircle.vue":Qr,"./overlays/TgElementOverlay.vue":ei,"./overlays/TgInfoBox.vue":ti,"./overlays/TgInfoWindow.vue":ri,"./overlays/TgLabel.vue":ii,"./overlays/TgMarker.vue":ke,"./overlays/TgPolygon.vue":ni,"./overlays/TgPolyline.vue":si,"./overlays/TgRectangle.vue":oi});Object.keys(r).forEach(n=>{const s=r[n];i.component(s.name??T.throwError(`Tg开头的组件必须设置name: ${n}`),s)})}const e=i.config.optionMergeStrategies;e[pe]=e[ge]=(r,n)=>r?[...new Set([].concat(r,n))]:Array.isArray(n)?n:[n]}};exports.AbstractControl=qe;exports.AbstractMap=nt;exports.Autocomplete=Rt;exports.BaiduAutocomplete=mr;exports.BaiduCircle=at;exports.BaiduControl=Ke;exports.BaiduHeatmap=vr;exports.BaiduInfoBoxOverlay=ut;exports.BaiduInfoWindow=ct;exports.BaiduMapTypeControl=Xe;exports.BaiduMapUrls=We;exports.BaiduMarker=ue;exports.BaiduMarkerClusterer=Or;exports.BaiduOverlay=Se;exports.BaiduPlacesService=Er;exports.BaiduPolyShape=mt;exports.BaiduPolygon=vt;exports.BaiduPolyline=ft;exports.BaiduRectangle=bt;exports.BaiduScaleControl=Je;exports.BaiduSearchBox=Lr;exports.BaiduStreetViewControl=et;exports.BaiduZoomControl=rt;exports.BuildInMapType=N;exports.BuildInMapTypeId=kt;exports.CachedValue=ae;exports.ControlPosition=k;exports.CoordType=R;exports.CustomControl=lr;exports.ElementOverlay=Rr;exports.EmptyControl=hr;exports.FastFindValues=ar;exports.GestureHandlingOptions=q;exports.GoogleAutocomplete=gr;exports.GoogleCircle=lt;exports.GoogleControl=Be;exports.GoogleHeatmap=yr;exports.GoogleInfoBoxOverlay=pt;exports.GoogleInfoWindow=dt;exports.GoogleMapTypeControl=ze;exports.GoogleMapUrls=Ze;exports.GoogleMarker=gt;exports.GoogleMarkerClusterer=wr;exports.GoogleOverlay=st;exports.GooglePlacesService=xr;exports.GooglePolygon=_t;exports.GooglePolyline=yt;exports.GoogleRectangle=Mt;exports.GoogleScaleControl=Qe;exports.GoogleSearchBox=Pr;exports.GoogleStreetViewControl=tt;exports.GoogleZoomControl=it;exports.Heatmap=Dt;exports.ImageMapType=_i;exports.InfoWindow=ht;exports.InfoWindowModeValues=Ar;exports.KeyValue=Lt;exports.LatLng=w;exports.LatLngBounds=U;exports.LifecycleLogPlugin=kn;exports.MIXIN_HOOK_CREATE=pe;exports.MIXIN_HOOK_DESTROY=ge;exports.MIXIN_MAP_NAME=Tt;exports.MapMixin=D;exports.MapPane=ce;exports.MapTypeControlType=At;exports.MapUrls=$t;exports.MapZoom=Br;exports.MarkerClusterer=Gt;exports.Overlay=Wt;exports.PlacesService=Nt;exports.SearchBox=Zt;exports.SphericalUtils=Dn;exports.SymbolPath=Yi;exports.TgCircle=Qr;exports.TgCustomControl=jr;exports.TgElementOverlay=ei;exports.TgHeatmap=Xr;exports.TgInfoBox=ti;exports.TgInfoWindow=ri;exports.TgLabel=ii;exports.TgMap=me;exports.TgMapType=j;exports.TgMapTypeControl=Fr;exports.TgMapWidget=Hr;exports.TgMarker=ke;exports.TgMarkerClusterer=Ft;exports.TgPolygon=ni;exports.TgPolyline=si;exports.TgRectangle=oi;exports.TgScaleControl=Ur;exports.TgStreetViewControl=qr;exports.TgTrafficLayer=Jr;exports.TgZoomControl=Kr;exports.TrafficLayer=cr;exports.UnionIcon=Le;exports.callHook=Me;exports.computedSaveOnThis=an;exports.createAsyncSingleton=Gr;exports.createEmptyVNode=Ie;exports.createPropertyObject=Wr;exports.createPropertyObjectTyped=ln;exports.debug=en;exports.default=zn;exports.eventProp=I;exports.extractVNodeFromSlotsByComponent=cn;exports.findAncestorComponentByType=Ue;exports.findByComponentType=hn;exports.getDestination=ai;exports.getTgMapConfig=jt;exports.isComponentByType=$e;exports.isEntryValueDef=zr;exports.isInstanceOf=pi;exports.loadCachedMap=Nr;exports.optionalProp=M;exports.requiredProp=G;exports.safeAs=gi;exports.safeAsComponent=It;exports.setTgMapConfig=$r;exports.splitAttrs=Vr;exports.stringEnumProp=Z;exports.stringUnionPropFromValues=Zr;exports.todo=Qi;exports.unwrapStringEnumValue=mi;exports.useEventLogMethods=dn;exports.useSplittedAttrs=K;exports.useTgMapInner=Ct;
18
18
  //# sourceMappingURL=tg-map.cjs.map