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