tg-map-vue3 4.2.7 → 4.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/components/TgMap.vue.d.ts +38 -31
- package/dist/tg-map.cjs +1 -1
- package/dist/tg-map.cjs.map +1 -1
- package/dist/tg-map.js +129 -128
- package/dist/tg-map.js.map +1 -1
- package/package.json +4 -4
|
@@ -321,7 +321,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
321
321
|
readonly innerMap: {
|
|
322
322
|
controls: {
|
|
323
323
|
clear: () => void;
|
|
324
|
-
forEach: (callback: (
|
|
324
|
+
forEach: (callback: (arg0: HTMLElement, arg1: number) => void) => void;
|
|
325
325
|
getArray: () => HTMLElement[];
|
|
326
326
|
getAt: (i: number) => HTMLElement;
|
|
327
327
|
getLength: () => number;
|
|
@@ -334,57 +334,43 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
334
334
|
bindTo: (key: string, target: google.maps.MVCObject, targetKey?: string | null, noNotify?: boolean) => void;
|
|
335
335
|
get: (key: string) => any;
|
|
336
336
|
notify: (key: string) => void;
|
|
337
|
-
set: (key: string, value:
|
|
337
|
+
set: (key: string, value: unknown) => void;
|
|
338
338
|
setValues: (values?: object | null) => void;
|
|
339
339
|
unbind: (key: string) => void;
|
|
340
340
|
unbindAll: () => void;
|
|
341
341
|
}[];
|
|
342
342
|
data: {
|
|
343
|
-
add: (feature?: google.maps.Data.Feature |
|
|
343
|
+
add: (feature?: google.maps.Data.Feature | google.maps.Data.FeatureOptions | null) => google.maps.Data.Feature;
|
|
344
344
|
addGeoJson: (geoJson: object, options?: google.maps.Data.GeoJsonOptions | null) => google.maps.Data.Feature[];
|
|
345
345
|
contains: (feature: google.maps.Data.Feature) => boolean;
|
|
346
|
-
forEach: (callback: (
|
|
347
|
-
getControlPosition: () => google.maps.ControlPosition;
|
|
346
|
+
forEach: (callback: (arg0: google.maps.Data.Feature) => void) => void;
|
|
347
|
+
getControlPosition: () => google.maps.ControlPosition | null;
|
|
348
348
|
getControls: () => string[] | null;
|
|
349
349
|
getDrawingMode: () => string | null;
|
|
350
350
|
getFeatureById: (id: number | string) => google.maps.Data.Feature | undefined;
|
|
351
351
|
getMap: () => google.maps.Map | null;
|
|
352
|
-
getStyle: () =>
|
|
353
|
-
loadGeoJson: (url: string, options?: google.maps.Data.GeoJsonOptions | null, callback?: ((
|
|
352
|
+
getStyle: () => google.maps.Data.StylingFunction | google.maps.Data.StyleOptions | null;
|
|
353
|
+
loadGeoJson: (url: string, options?: google.maps.Data.GeoJsonOptions | null, callback?: ((arg0: google.maps.Data.Feature[]) => void) | undefined) => void;
|
|
354
354
|
overrideStyle: (feature: google.maps.Data.Feature, style: google.maps.Data.StyleOptions) => void;
|
|
355
355
|
remove: (feature: google.maps.Data.Feature) => void;
|
|
356
356
|
revertStyle: (feature?: google.maps.Data.Feature | null) => void;
|
|
357
|
-
setControlPosition: (controlPosition: google.maps.ControlPosition) => void;
|
|
357
|
+
setControlPosition: (controlPosition: google.maps.ControlPosition | null) => void;
|
|
358
358
|
setControls: (controls: string[] | null) => void;
|
|
359
359
|
setDrawingMode: (drawingMode: string | null) => void;
|
|
360
360
|
setMap: (map: google.maps.Map | null) => void;
|
|
361
|
-
setStyle: (style:
|
|
362
|
-
toGeoJson: (callback: (
|
|
361
|
+
setStyle: (style: google.maps.Data.StylingFunction | google.maps.Data.StyleOptions | null) => void;
|
|
362
|
+
toGeoJson: (callback: (arg0: object) => void) => void;
|
|
363
363
|
addListener: (eventName: string, handler: Function) => google.maps.MapsEventListener;
|
|
364
364
|
bindTo: (key: string, target: google.maps.MVCObject, targetKey?: string | null, noNotify?: boolean) => void;
|
|
365
365
|
get: (key: string) => any;
|
|
366
366
|
notify: (key: string) => void;
|
|
367
|
-
set: (key: string, value:
|
|
367
|
+
set: (key: string, value: unknown) => void;
|
|
368
368
|
setValues: (values?: object | null) => void;
|
|
369
369
|
unbind: (key: string) => void;
|
|
370
370
|
unbindAll: () => void;
|
|
371
371
|
};
|
|
372
|
-
fitBounds: (bounds: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral, padding?: number | google.maps.Padding) => void;
|
|
373
|
-
getBounds: () => google.maps.LatLngBounds | undefined;
|
|
374
|
-
getCenter: () => google.maps.LatLng | undefined;
|
|
375
|
-
getClickableIcons: () => boolean | undefined;
|
|
376
|
-
getDiv: () => HTMLElement;
|
|
377
|
-
getFeatureLayer: (featureType: google.maps.FeatureType) => google.maps.FeatureLayer;
|
|
378
|
-
getHeading: () => number | undefined;
|
|
379
|
-
getMapCapabilities: () => google.maps.MapCapabilities;
|
|
380
|
-
getMapTypeId: () => string | undefined;
|
|
381
|
-
getProjection: () => google.maps.Projection | undefined;
|
|
382
|
-
getRenderingType: () => google.maps.RenderingType;
|
|
383
|
-
getStreetView: () => google.maps.StreetViewPanorama;
|
|
384
|
-
getTilt: () => number | undefined;
|
|
385
|
-
getZoom: () => number | undefined;
|
|
386
372
|
mapTypes: {
|
|
387
|
-
set: (id: string, mapType:
|
|
373
|
+
set: (id: string, mapType: google.maps.MapType | unknown) => void;
|
|
388
374
|
addListener: (eventName: string, handler: Function) => google.maps.MapsEventListener;
|
|
389
375
|
bindTo: (key: string, target: google.maps.MVCObject, targetKey?: string | null, noNotify?: boolean) => void;
|
|
390
376
|
get: (key: string) => any;
|
|
@@ -393,10 +379,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
393
379
|
unbind: (key: string) => void;
|
|
394
380
|
unbindAll: () => void;
|
|
395
381
|
};
|
|
396
|
-
moveCamera: (cameraOptions: google.maps.CameraOptions) => void;
|
|
397
382
|
overlayMapTypes: {
|
|
398
383
|
clear: () => void;
|
|
399
|
-
forEach: (callback: (
|
|
384
|
+
forEach: (callback: (arg0: google.maps.MapType | null, arg1: number) => void) => void;
|
|
400
385
|
getArray: () => (google.maps.MapType | null)[];
|
|
401
386
|
getAt: (i: number) => google.maps.MapType | null;
|
|
402
387
|
getLength: () => number;
|
|
@@ -409,27 +394,49 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
409
394
|
bindTo: (key: string, target: google.maps.MVCObject, targetKey?: string | null, noNotify?: boolean) => void;
|
|
410
395
|
get: (key: string) => any;
|
|
411
396
|
notify: (key: string) => void;
|
|
412
|
-
set: (key: string, value:
|
|
397
|
+
set: (key: string, value: unknown) => void;
|
|
413
398
|
setValues: (values?: object | null) => void;
|
|
414
399
|
unbind: (key: string) => void;
|
|
415
400
|
unbindAll: () => void;
|
|
416
401
|
};
|
|
402
|
+
fitBounds: (bounds: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral, padding?: number | google.maps.Padding) => void;
|
|
403
|
+
getBounds: () => google.maps.LatLngBounds | undefined;
|
|
404
|
+
getCenter: () => google.maps.LatLng | undefined;
|
|
405
|
+
getClickableIcons: () => boolean | undefined;
|
|
406
|
+
getDatasetFeatureLayer: (datasetId: string) => google.maps.FeatureLayer;
|
|
407
|
+
getDiv: () => HTMLElement;
|
|
408
|
+
getFeatureLayer: (featureType: google.maps.FeatureTypeString) => google.maps.FeatureLayer;
|
|
409
|
+
getHeading: () => number | undefined;
|
|
410
|
+
getHeadingInteractionEnabled: () => boolean | null;
|
|
411
|
+
getInternalUsageAttributionIds: () => Iterable<string> | null;
|
|
412
|
+
getMapCapabilities: () => google.maps.MapCapabilities;
|
|
413
|
+
getMapTypeId: () => google.maps.MapTypeIdString | string | undefined;
|
|
414
|
+
getProjection: () => google.maps.Projection | undefined;
|
|
415
|
+
getRenderingType: () => google.maps.RenderingTypeString;
|
|
416
|
+
getStreetView: () => google.maps.StreetViewPanorama;
|
|
417
|
+
getTilt: () => number | undefined;
|
|
418
|
+
getTiltInteractionEnabled: () => boolean | null;
|
|
419
|
+
getZoom: () => number | undefined;
|
|
420
|
+
moveCamera: (cameraOptions: google.maps.CameraOptions) => void;
|
|
417
421
|
panBy: (x: number, y: number) => void;
|
|
418
422
|
panTo: (latLng: google.maps.LatLng | google.maps.LatLngLiteral) => void;
|
|
419
423
|
panToBounds: (latLngBounds: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral, padding?: number | google.maps.Padding) => void;
|
|
420
424
|
setCenter: (latlng: google.maps.LatLng | google.maps.LatLngLiteral) => void;
|
|
421
425
|
setClickableIcons: (value: boolean) => void;
|
|
422
426
|
setHeading: (heading: number) => void;
|
|
423
|
-
|
|
427
|
+
setHeadingInteractionEnabled: (headingInteractionEnabled: boolean) => void;
|
|
428
|
+
setMapTypeId: (mapTypeId: google.maps.MapTypeIdString | string) => void;
|
|
424
429
|
setOptions: (options: google.maps.MapOptions | null) => void;
|
|
430
|
+
setRenderingType: (renderingType: google.maps.RenderingTypeString) => void;
|
|
425
431
|
setStreetView: (panorama: google.maps.StreetViewPanorama | null) => void;
|
|
426
432
|
setTilt: (tilt: number) => void;
|
|
433
|
+
setTiltInteractionEnabled: (tiltInteractionEnabled: boolean) => void;
|
|
427
434
|
setZoom: (zoom: number) => void;
|
|
428
435
|
addListener: (eventName: string, handler: Function) => google.maps.MapsEventListener;
|
|
429
436
|
bindTo: (key: string, target: google.maps.MVCObject, targetKey?: string | null, noNotify?: boolean) => void;
|
|
430
437
|
get: (key: string) => any;
|
|
431
438
|
notify: (key: string) => void;
|
|
432
|
-
set: (key: string, value:
|
|
439
|
+
set: (key: string, value: unknown) => void;
|
|
433
440
|
setValues: (values?: object | null) => void;
|
|
434
441
|
unbind: (key: string) => void;
|
|
435
442
|
unbindAll: () => void;
|
package/dist/tg-map.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const h=require("tg-commons"),i=require("tg-map-core"),r=require("vue");require("tg-map-core/dist/tg-map-core.css");function c(e,t){return{type:String,default:t,validator:s=>Object.values(e).includes(s)}}function S(e,t){return{type:String,default:t,validator:s=>e.includes(s)}}function m(e){return{type:e,required:!0}}function o(e,t){return{type:e,default:t}}function N(e){const t={};return Object.entries(e).forEach(([s,n])=>{const a=`__${s}`;t[s]={get(){const l=this[a];return l===void 0?n:l},set(l){this[a]=l}}}),t}const b={enumerable:!0,configurable:!0,get:h.noop,set:h.noop};function E(e){return Object.keys(e).forEach(t=>{const s=e[t];let n=!1;typeof s=="function"?(b.get=s,b.set=h.noop,n=!0):typeof s=="object"&&typeof s.get=="function"&&(b.get=s.get,b.set=s.set,n=!0),n&&(e[t]=Object.defineProperty(e,t,b))}),e}function x(e){return E(e)}function $(){return r.createCommentVNode()}function C(e,t){const s=e.$options[t];if(s)for(const n of s)n.call(e)}function z(e,t){for(const s of e)if(s.$options.name===t.name)return s}function D(e,t){if(!e.default)return;const s=e.default();for(const n of s)if((n==null?void 0:n.type).name===t.name)return n}function I(e,t){const s={},n={},a={};return Object.keys(e).forEach(l=>{l.startsWith("on")?s[i.Strings.pascal2kebab(l.substring(2))]=e[l]:n[l]=e[l]}),t&&Object.keys(t).forEach(l=>{l.startsWith("on")&&(a[i.Strings.pascal2kebab(l.substring(2))]=t[l])}),{binds:n,listeners:s,listenerProps:a}}function u(e,t){return r.computed(()=>I(e,t))}function p(){return Function}const V=()=>{let e,t;function s(a){console.log(a),e=a&&a.type,t=Date.now()}function n(a){((a&&a.type)!==e||Date.now()-(t??0)>1e3)&&s(a)}return{eventLog:s,eventLogLess:n}};function _(e,t){return(e==null?void 0:e.$options.name)===t.name}function w(e,t){return _(e,t)?e:void 0}function P(e,t,s){let n=t;for(;n;){if(_(n,e))return n;if(s&&_(n,s))return;n=n.$parent}}const T="$map",g="onCreate",v="onDestroy",d=r.defineComponent({inject:[T],mounted(){C(this,g)},beforeUnmount(){C(this,v)},methods:{recreate(){C(this,v),C(this,g)}},render(){return $()}}),W={type:c(i.TgMapType,i.TgMapType.google),center:m(i.LatLng),centerSyncDelay:o(Number,300),currentCenter:o(i.LatLng),lastCenter:o(i.LatLng),zoom:m(Number),infoWindowMode:S(i.InfoWindowModeValues),gestureHandling:c(i.GestureHandlingOptions),fractionalZoom:o(Boolean),minZoom:o(Number),maxZoom:o(Number),mapStyle:o(Object),mapTypeId:c(i.BuildInMapTypeId),mapType:o(Object),hideLogo:o(Boolean),onLoad:p(),"onUpdate:center":p(),"onUpdate:current-center":p(),"onUpdate:last-center":p(),"onUpdate:map-type":p(),"onUpdate:map-type-id":p(),"onUpdate:zoom":p(),onError:p()},R=r.defineComponent({name:"tg-map",provide(){return{[T]:r.computed(()=>this.map)}},inheritAttrs:!1,props:W,emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),centerSyncTimeoutId:void 0}},data(){return{map:h.typed(),isDestroyed:!1}},computed:{propsJson(){return i.Objects.toJsonSafely(this.$props)}},watch:{gestureHandling(e){var t;e&&((t=this.map)==null||t.setGestureHandling(i.unwrapStringEnumValue(e,i.GestureHandlingOptions)))},minZoom(e){var t;(t=this.map)==null||t.setMinZoom(e)},maxZoom(e){var t;(t=this.map)==null||t.setMaxZoom(e)},mapStyle(e){var t;(t=this.map)==null||t.setMapStyle(e)},mapTypeId(e){var t;e&&((t=this.map)==null||t.setBuildInMapTypeId(i.unwrapStringEnumValue(e,i.BuildInMapTypeId)))},mapType(e){var t;(t=this.map)==null||t.setMapType(e??i.MapType.NORMAL)},hideLogo(e){var t;(t=this.map)==null||t.setHideLogo(e??!1)},fractionalZoom(e){var t;(t=this.map)==null||t.setFractionalZoom(e??!1)}},async mounted(){const e=i.unwrapStringEnumValue(this.type,i.TgMapType);try{await i.loadCachedMap(e)}catch(a){this.$emit("error",a);return}if(this.isDestroyed){console.warn(`tg-map(type=${e})已销毁, 不需要继续执行`);return}const t=i.TgMapFactory.createMap(e,this.$refs.map,{center:this.center,zoom:this.zoom,infoWindowMode:this.infoWindowMode,gestureHandling:i.unwrapStringEnumValue(this.gestureHandling,i.GestureHandlingOptions),minZoom:this.minZoom,maxZoom:this.maxZoom,mapStyle:this.mapStyle,buildInMapTypeId:i.unwrapStringEnumValue(this.mapTypeId,i.BuildInMapTypeId),hideLogo:this.hideLogo,fractionalZoom:this.fractionalZoom});if(this.map=r.markRaw(t),this.mapType&&t.setMapType(this.mapType),"ready"in this.attrs.listeners&&console.error("地图载入完成的事件已经从ready改为了load, 请手动修改"),i.bindEvents(this.attrs.listeners,t,["load"]),this.$emit("load",t),r.watch([()=>this.zoom,()=>this.center],([a,l],[y,A])=>{a!==y&&t.setZoom(a),l!==A&&(t.getCenter().equals(l)||t.setCenter(l))}),this.attrs.listenerProps["update:center"]){const a=()=>this.$emit("update:center",t.getCenter());t.addEventListener("center-changed",()=>{this.centerSyncDelay>0?(clearTimeout(this.centerSyncTimeoutId),this.centerSyncTimeoutId=setTimeout(a,this.centerSyncDelay)):a()})}this.attrs.listenerProps["update:current-center"]&&(this.$emit("update:current-center",this.center),t.addEventListener("center-changed",()=>{this.$emit("update:current-center",t.getCenter())})),this.attrs.listenerProps["update:zoom"]&&t.addEventListener("zoom-changed",()=>{this.$emit("update:zoom",t.getZoom())});const s=this.attrs.listenerProps["update:map-type"],n=this.attrs.listenerProps["update:map-type-id"];(s||n)&&t.addEventListener("map-type-changed",()=>{const a=t.getMapType();s&&this.$emit("update:map-type",a),n&&this.$emit("update:map-type-id",a.id)})},unmounted(){this.isDestroyed=!0,this.map&&(this.attrs.listenerProps["update:last-center"]&&this.$emit("update:last-center",this.map.getCenter()),this.attrs.listenerProps["update:center"]&&(clearTimeout(this.centerSyncTimeoutId),this.$emit("update:center",this.map.getCenter())))},methods:{}}),f=(e,t)=>{const s=e.__vccOpts||e;for(const[n,a]of t)s[n]=a;return s};function Z(e,t,s,n,a,l){return r.openBlock(),r.createElementBlock("div",r.mergeProps({class:"tg-map"},e.attrs.binds),[r.createElementVNode("div",{ref:"map",class:r.normalizeClass({"tg-map__map":!0,[`tg-map__map--hide-logo-${e.type}`]:e.hideLogo})},null,2),r.createCommentVNode("",!0),e.map?r.renderSlot(e.$slots,"default",{key:1}):r.createCommentVNode("",!0),r.renderSlot(e.$slots,"overlay")],16)}const k=f(R,[["render",Z]]),U=r.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:i.dimen}});function j(e,t,s,n,a,l){return r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(e.$options.name),style:r.normalizeStyle({left:e.dimen(e.left),top:e.dimen(e.topValue),right:e.dimen(e.right),bottom:e.dimen(e.bottom)})},[r.renderSlot(e.$slots,"default")],6)}const H=f(U,[["render",j]]),F=r.defineComponent({name:"tg-custom-control",mixins:[d],props:{position:c(i.ControlPosition,i.ControlPosition.RIGHT_BOTTOM)},setup(){return{control:h.lateinit()}},watch:{position(){this.recreate()}},onCreate(){w(this.$parent,k)||console.warn("请将tg-custom-control放到tg-map中");const{$el:e}=this,t=class extends i.CustomControl{onCreateElement(){return e}};this.control=new t(i.unwrapStringEnumValue(this.position,i.ControlPosition)),this.$map.addCustomControl(this.control)},onDestroy(){this.$map.removeCustomControl(this.control)}});function G(e,t,s,n,a,l){return r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(e.$options.name)},[r.renderSlot(e.$slots,"default")],2)}const q=f(F,[["render",G]]),X=r.defineComponent({name:"tg-map-type-control",mixins:[d],props:{position:c(i.ControlPosition,i.ControlPosition.TOP_LEFT),type:c(i.MapTypeControlType),mapTypes:o(Array)},setup(){return{control:h.lateinit()}},watch:{position(e){this.control.setPosition(e)},type(){this.recreate()},mapTypes:{handler(){this.recreate()},deep:!0}},onCreate(){this.control=this.$map.createMapTypeControl(i.unwrapStringEnumValue(this)),this.$map.addControl(this.control)},onDestroy(){this.$map.removeControl(this.control)}}),K=r.defineComponent({name:"tg-scale-control",mixins:[d],props:{position:c(i.ControlPosition,i.ControlPosition.BOTTOM_RIGHT)},setup(){return{control:h.lateinit()}},watch:{position(e){this.control.setPosition(e)}},onCreate(){this.control=this.$map.createScaleControl(i.unwrapStringEnumValue(this)),this.$map.addControl(this.control)},onDestroy(){this.$map.removeControl(this.control)}});function B(){var s;const e=(s=r.getCurrentInstance())==null?void 0:s.type;let t=(e==null?void 0:e.name)??(e==null?void 0:e.__name);if(!t){const n=e==null?void 0:e.__file;n&&(t=h.path.basename(n,".vue"))}return t}function O(){const e=r.inject(T);let t,s;return e==null&&h.throwError(`<${B()||"unknown"}>必须作为<tg-map>的子代组件`),{mapRef:e,get map(){return e.value??h.throwError("map尚未初始化")},[g](n){r.onMounted(n),t&&h.throwError(`${g}只能调用一次`),t=n},[v](n){r.onBeforeUnmount(n),s&&h.throwError(`${v}只能调用一次`),s=n},recreate(){s==null||s(),t==null||t()}}}const J=r.defineComponent({name:"tg-street-view-control",props:{position:c(i.ControlPosition,i.ControlPosition.RIGHT_BOTTOM)},setup(e){let t=h.lateinit();const{map:s,onCreate:n,onDestroy:a}=O();return n(()=>{t=s.createStreetViewControl(i.unwrapStringEnumValue(e)),s.addControl(t)}),a(()=>{s.removeControl(t)}),r.watch(()=>e.position,l=>{t.setPosition(i.unwrapStringEnumValue(l,i.ControlPosition))}),$}}),Y=r.defineComponent({name:"tg-zoom-control",props:{position:c(i.ControlPosition,i.ControlPosition.RIGHT_BOTTOM),showZoomLevel:o(Boolean)},setup(e){let t=h.lateinit();const{map:s,onCreate:n,onDestroy:a}=O();return n(()=>{t=s.createZoomControl(i.unwrapStringEnumValue(e)),s.addControl(t)}),a(()=>{s.removeControl(t)}),r.watch(()=>e.position,l=>{t.setPosition(i.unwrapStringEnumValue(l,i.ControlPosition))}),r.watch(()=>e.showZoomLevel,l=>{t.setShowZoomLevel(l??!0)}),$}}),Q=r.defineComponent({name:"tg-heatmap",props:{maxIntensity:o(Number),gradient:o(Object),opacity:o(Number),radius:o(Number),data:m(Array)},setup(e){const{map:t,onCreate:s,onDestroy:n}=O();let a=h.lateinit();return s(()=>{a=t.createHeatmap(e)}),n(()=>{a.remove()}),r.watch(()=>e.data,l=>a.setData(l)),r.watch([()=>e.maxIntensity,()=>e.gradient,()=>e.opacity,()=>e.radius],()=>a.setOptions(e)),$}}),ee=r.defineComponent({name:"tg-marker-clusterer",mixins:[d],props:{gridSize:o(Number),maxZoom:o(Number),minClusterSize:o(Number),averageCenter:o(Boolean),styles:o(Array),stylesIndexCalculator:o(Function),zIndex:o(Number)},setup(){return{clusterer:h.lateinit(),markers:h.typed([]),pendingMarkers:h.typed([])}},watch:{gridSize(){this.recreate()},maxZoom(){this.recreate()},minClusterSize(){this.recreate()},averageCenter(){this.recreate()},styles:{handler(){this.recreate()},deep:!0},stylesIndexCalculator(){this.recreate()},zIndex(){this.recreate()}},onCreate(){this.clusterer=this.$map.createMarkerClusterer(this)},onDestroy(){this.clusterer.clearMarkers(!0),this.pendingMarkers=[]},methods:{isInitiated(){return this.clusterer!=null},performAddMarkers(){this.clusterer.addMarkers(this.pendingMarkers),this.pendingMarkers=[]},onAddMarker(e){this.markers.push(e),this.isInitiated()&&(this.pendingMarkers.length||this.$nextTick(this.performAddMarkers),this.pendingMarkers.push(e))},onRemoveMarker(e){this.isInitiated()&&(h.Arrays.remove(this.pendingMarkers,e)||this.clusterer.removeMarker(e)),h.Arrays.remove(this.markers,e)}}});function te(e,t,s,n,a,l){return r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(e.$options.name)},[r.renderSlot(e.$slots,"default")],2)}const L=f(ee,[["render",te]]),oe=r.defineComponent({name:"tg-traffic-layer",mixins:[d],setup(){return{layer:h.lateinit()}},watch:{},onCreate(){this.layer=new i.TrafficLayer,this.$map.addLayer(this.layer)},onDestroy(){this.$map.removeLayer(this.layer)}}),re=r.defineComponent({name:"tg-circle",mixins:[d],inheritAttrs:!1,props:{center:m(i.LatLng),radius:m(Number),clickable:o(Boolean),editable:o(Boolean),strokeColor:o(String),strokeOpacity:o(Number),strokeWeight:o(Number),visible:o(Boolean),zIndex:o(Number),fillColor:o(String),fillOpacity:o(Number),"onUpdate:center":p(),"onUpdate:radius":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit(),emittedRadius:void 0,emittedCenter:void 0}},watch:{center(e){if(this.emittedCenter!=null){const t=this.emittedCenter;if(this.emittedCenter=void 0,t===r.toRaw(e))return}this.overlay.setCenter(e)},radius(e){if(this.emittedRadius!=null){const t=this.emittedRadius;if(this.emittedRadius=void 0,t===e)return}this.overlay.setRadius(e)},clickable(){this.recreate()},editable(e){this.overlay.setEditable(e)},strokeColor(e){this.overlay.setStrokeColor(e)},strokeOpacity(e){this.overlay.setStrokeOpacity(e)},strokeWeight(e){this.overlay.setStrokeWeight(e)},fillColor(e){this.overlay.setFillColor(e)},fillOpacity(e){this.overlay.setFillOpacity(e)},visible(e){this.overlay.setVisible(e)},zIndex(e){this.overlay.setZIndex(e)}},onCreate(){this.overlay=this.$map.createCircle(this),this.$map.addOverlay(this.overlay),i.bindEvents(this.attrs.listeners,this.overlay),this.attrs.listenerProps["update:center"]&&this.overlay.addEventListener("center-changed",()=>{this.$emit("update:center",this.emittedCenter=this.overlay.getCenter())}),this.attrs.listenerProps["update:radius"]&&this.overlay.addEventListener("radius-changed",()=>{this.$emit("update:radius",this.emittedRadius=this.overlay.getRadius())})},onDestroy(){this.$map.removeOverlay(this.overlay)}});class ie extends i.ElementOverlay{constructor(t,s,n,a){super(t,s),this.content=n,this.position=a}onCreate(){return this.content}onDraw(t){const s=t.fromLatLngToOverlayPoint(this.position);this.content.style.left=s.x+"px",this.content.style.top=s.y+"px"}setPosition(t){this.position=t,this.draw()}}const se=r.defineComponent({name:"tg-element-overlay",mixins:[d],props:{mapPane:c(i.MapPane,i.MapPane.overlayMouseTarget),position:m(i.LatLng)},setup(){return{overlay:h.lateinit()}},watch:{position(e){this.overlay.setPosition(e)},mapPane(){this.recreate()}},methods:{content(){return this.$el}},onCreate(){this.overlay=new ie(this.$map,i.unwrapStringEnumValue(this),this.content(),this.position),this.$map.addElementOverlay(this.overlay)},onDestroy(){this.$map.removeElementOverlay(this.overlay)}});function ne(e,t,s,n,a,l){return r.openBlock(),r.createElementBlock("div",r.mergeProps({class:e.$options.name},e.$attrs),[r.renderSlot(e.$slots,"default")],16)}const ae=f(se,[["render",ne]]),le={position:m(i.LatLng),title:o(String),label:o(Object),icon:o(Object),clickable:o(Boolean),draggable:o(Boolean),crossOnDrag:o(Boolean),cursor:o(String),zIndex:o(Number),visible:o(Boolean),normalizePositionForBaidu:o(Boolean),autoAddToClusterer:o(Boolean,!0),"onUpdate:position":p()},he=r.defineComponent({name:"tg-marker",mixins:[d],inheritAttrs:!1,props:le,emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),marker:h.lateinit(),labelOverlay:h.typed(),info:h.typed(),emittedPosition:void 0,autoAddToClustererWhenCreate:e.autoAddToClusterer}},watch:{position(e){if(this.emittedPosition!=null){const t=this.emittedPosition;if(this.emittedPosition=void 0,t===r.toRaw(e))return}this.marker.setPosition(e)},title(e){this.marker.setTitle(e)},label(e,t){h.deepEqual(e,t)||(e?this.marker.setLabel(e):this.recreate())},icon(e){e?this.marker.setIcon(e):this.recreate()},clickable(e){this.marker instanceof i.BaiduMarker?this.recreate():this.marker.setClickable(e)},draggable(e){this.marker.setDraggable(e)},crossOnDrag(){this.recreate()},cursor(){this.recreate()},zIndex(e){this.marker instanceof i.BaiduMarker?this.recreate():this.marker.setZIndex(e)},visible(e){this.marker.setVisible(e)},normalizePositionForBaidu(){this.recreate()},autoAddToClusterer(){this.recreate()}},onCreate(){this.marker=this.$map.createMarker(this),this.labelOverlay&&this.marker.attachLabelOverlay(this.labelOverlay.overlay),this.$clusterer()&&this.autoAddToClusterer?this.$clusterer().onAddMarker(this.marker):this.$map.addOverlay(this.marker),this.autoAddToClustererWhenCreate=this.autoAddToClusterer,this.info&&this.info.show&&this.info.overlay.open(this.marker),i.bindEvents(this.attrs.listeners,this.marker),this.attrs.listenerProps["update:position"]&&this.marker.addEventListener("dragend",e=>{this.$emit("update:position",this.emittedPosition=e.position)})},onDestroy(){this.$clusterer()&&this.autoAddToClustererWhenCreate?this.$clusterer().onRemoveMarker(this.marker):this.$map.removeOverlay(this.marker)},methods:{$clusterer(){return w(this.$parent,L)},onAddLabel(e){this.labelOverlay=e,this.marker&&this.marker.attachLabelOverlay(e.overlay)},onRemoveLabel(e){this.marker.attachLabelOverlay(void 0),this.labelOverlay=void 0},onAddInfo(e){this.info=e,this.marker&&e.show&&e.overlay.open(this.marker)},onRemoveInfo(e){e.overlay.close(),this.info=void 0},onInfoShowChanged(e,t){t?e.overlay.open(this.marker):e.overlay.close()}}});function pe(e,t,s,n,a,l){return r.renderSlot(e.$slots,"default")}const M=f(he,[["render",pe]]),de=r.defineComponent({name:"tg-info-box",mixins:[d],inheritAttrs:!1,props:{show:m(Boolean),position:o(i.LatLng),offset:o(Object),maxWidth:o(Number),borderClass:o(String),zIndex:o(Number),disableAutoPan:o(Boolean),"onUpdate:show":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit()}},watch:{show(e){this.$marker()?this.$marker().onInfoShowChanged(this,e):e?this.overlay.open():this.overlay.close()},position(e){this.overlay.setPosition(e)},offset(){this.recreate()},maxWidth(e){this.overlay.setMaxWidth(e)},borderClass(){this.recreate()},zIndex(e){this.overlay.setZIndex(e)},disableAutoPan(){this.recreate()}},onCreate(){this.overlay=this.$map.createInfoBox(this.getOptions()),this.$marker()?this.$marker().onAddInfo(this):this.show&&this.overlay.open(),this.attrs.listenerProps["update:show"]&&this.overlay.addEventListener("closeclick",()=>{this.$emit("update:show",!1)}),i.bindEvents(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,disableAutoPan:this.disableAutoPan}},content(){return this.$map instanceof i.GoogleMap?i.wrapComponentElementForGoogle(this.$el,"google-info-container"):this.$el},$marker(){return P(M,this.$parent,k)},open(e){this.overlay.open(e)},close(){this.overlay.close()}}});function me(e,t,s,n,a,l){return r.openBlock(),r.createElementBlock("div",r.mergeProps({class:e.$options.name},e.attrs.binds),[r.renderSlot(e.$slots,"default")],16)}const ce=f(de,[["render",me]]),ue=r.defineComponent({name:"tg-info-window",mixins:[d],inheritAttrs:!1,props:{show:m(Boolean),position:o(i.LatLng),maxWidth:o(Number),offset:o(Object),disableAutoPan:o(Boolean),"onUpdate:show":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit()}},watch:{show(e){this.$marker()?this.$marker().onInfoShowChanged(this,e):e?this.overlay.open():this.overlay.close()},position(e){this.overlay.setPosition(e)},maxWidth(){this.recreate()},offset(){this.recreate()},disableAutoPan(){this.recreate()}},methods:{content(){return this.$map instanceof i.GoogleMap?i.wrapComponentElementForGoogle(this.$el,"google-info-container"):this.$el},$marker(){return P(M,this.$parent,k)},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)}),i.bindEvents(this.attrs.listeners,this.overlay)},onDestroy(){this.$marker()?this.$marker().onRemoveInfo(this):this.overlay.close()}});function fe(e,t,s,n,a,l){return r.withDirectives((r.openBlock(),r.createElementBlock("div",r.mergeProps({class:e.$options.name},e.attrs.binds),[r.renderSlot(e.$slots,"default")],16)),[[r.vShow,e.show]])}const ye=f(ue,[["render",fe]]),ge=r.defineComponent({name:"tg-label",mixins:[d],inheritAttrs:!1,props:{position:o(i.LatLng),offset:o(Object),zIndex:o(Number),mapPane:c(i.MapPane)},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t),overlay:h.lateinit()}},watch:{position(e){this.overlay.setPosition(e)},offset(e){this.overlay.setOffset(e)},zIndex(e){this.overlay.setZIndex(e)},visible(e){this.overlay.setVisible(e)},mapPane(){this.recreate()}},methods:{content(){return this.$el},marker(){var e;return(e=this.$marker())==null?void 0:e.marker},$marker(){return P(M,this.$parent,k)},getOptions(){return{content:this.content(),position:this.position,offset:this.offset,zIndex:this.zIndex,mapPane:i.unwrapStringEnumValue(this.mapPane,i.MapPane)}}},onCreate(){this.overlay=this.$map.createLabel(this.getOptions()),this.$marker()?this.$marker().onAddLabel(this):this.$map.addOverlay(this.overlay),i.bindEvents(this.attrs.listeners,this.overlay)},onDestroy(){this.$marker()?this.$marker().onRemoveLabel(this):this.$map.removeOverlay(this.overlay)}});function ve(e,t,s,n,a,l){return r.openBlock(),r.createElementBlock("div",r.mergeProps({class:e.$options.name},e.attrs.binds),[r.renderSlot(e.$slots,"default")],16)}const be=f(ge,[["render",ve]]),Ce={paths:m(Array),clickable:o(Boolean),editable:o(Boolean),strokeColor:o(String),strokeOpacity:o(Number),strokeWeight:o(Number),visible:o(Boolean),zIndex:o(Number),fillColor:o(String),fillOpacity:o(Number),"onUpdate:paths":p()},$e=r.defineComponent({name:"tg-polygon",mixins:[d],inheritAttrs:!1,props:Ce,emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit(),emittedPaths:void 0}},watch:{paths:{handler(e){if(this.emittedPaths!=null){const t=this.emittedPaths;if(this.emittedPaths=void 0,t.length===e.length&&t.every((s,n)=>s===r.toRaw(e[n])))return}this.overlay.setPaths(e)},deep:!0},clickable(){this.recreate()},editable(e){this.overlay.setEditable(e)},strokeColor(e){this.overlay.setStrokeColor(e)},strokeOpacity(e){this.overlay.setStrokeOpacity(e)},strokeWeight(e){this.overlay.setStrokeWeight(e)},fillColor(e){this.overlay.setFillColor(e)},fillOpacity(e){this.overlay.setFillOpacity(e)},visible(e){this.overlay.setVisible(e)},zIndex(e){this.overlay.setZIndex(e)}},onCreate(){this.overlay=this.$map.createPolygon(this),this.$map.addOverlay(this.overlay),i.bindEvents(this.attrs.listeners,this.overlay),this.attrs.listenerProps["update:paths"]&&this.overlay.addEventListener("paths-edited",()=>{this.$emit("update:paths",this.emittedPaths=this.overlay.getPaths())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),ke=r.defineComponent({name:"tg-polyline",mixins:[d],inheritAttrs:!1,props:{path:m(Array),icons:o(Array),clickable:o(Boolean),editable:o(Boolean),strokeColor:o(String),strokeOpacity:o(Number),strokeWeight:o(Number),visible:o(Boolean),zIndex:o(Number),"onUpdate:path":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit(),emittedPath:void 0}},watch:{path:{handler(e){if(this.emittedPath!=null){const t=this.emittedPath;if(this.emittedPath=void 0,t===r.toRaw(e))return}this.overlay.setPath(e)},deep:!0},icons:{handler(){this.recreate()},deep:!0},clickable(){this.recreate()},editable(e){this.overlay.setEditable(e)},strokeColor(e){this.overlay.setStrokeColor(e)},strokeOpacity(e){this.overlay.setStrokeOpacity(e)},strokeWeight(e){this.overlay.setStrokeWeight(e)},visible(e){this.overlay.setVisible(e)},zIndex(e){this.overlay.setZIndex(e)}},onCreate(){this.overlay=this.$map.createPolyline(this),this.$map.addOverlay(this.overlay),i.bindEvents(this.attrs.listeners,this.overlay),this.attrs.listenerProps["update:path"]&&this.overlay.addEventListener("path-edited",()=>{this.$emit("update:path",this.emittedPath=this.overlay.getPath())})},onDestroy(){this.overlay.remove()}}),_e=r.defineComponent({name:"tg-rectangle",mixins:[d],inheritAttrs:!1,props:{bounds:m(Object),clickable:o(Boolean),editable:o(Boolean),strokeColor:o(String),strokeOpacity:o(Number),strokeWeight:o(Number),visible:o(Boolean),zIndex:o(Number),fillColor:o(String),fillOpacity:o(Number),"onUpdate:bounds":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit(),emittedBounds:void 0}},watch:{bounds(e){if(this.emittedBounds!=null){const t=this.emittedBounds;if(this.emittedBounds=void 0,t.equals(e))return}this.overlay.setBounds(e)},clickable(){this.recreate()},editable(e){this.overlay.setEditable(e)},strokeColor(e){this.overlay.setStrokeColor(e)},strokeOpacity(e){this.overlay.setStrokeOpacity(e)},strokeWeight(e){this.overlay.setStrokeWeight(e)},fillColor(e){this.overlay.setFillColor(e)},fillOpacity(e){this.overlay.setFillOpacity(e)},visible(e){this.overlay.setVisible(e)},zIndex(e){this.overlay.setZIndex(e)}},onCreate(){this.overlay=this.$map.createRectangle(this),this.$map.addOverlay(this.overlay),i.bindEvents(this.attrs.listeners,this.overlay),this.attrs.listenerProps["update:bounds"]&&this.overlay.addEventListener("bounds-changed",()=>{this.$emit("update:bounds",this.emittedBounds=this.overlay.getBounds())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),Pe=["beforeUpdate","updated"],Te={install(e,t={}){if(t.enable!==!1){const s=r.defineComponent({beforeCreate(){const n=B()??"",l=(t.nameRegex||/^[A-Z]/).test(n)?y=>{t.hookNames?t.hookNames.includes(y)&&console.debug("[lifecycle]",n,y):Pe.includes(y)||console.debug("[lifecycle]",n,y)}:h.noop;l("beforeCreate"),this.__life_impl=l},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(n){this.__life_impl(n)}},onCreate(){this.__life("onCreate")},onDestroy(){this.__life("onDestroy")}});e.mixin(s)}}},Oe={install(e,t){i.setTgMapConfig(t);const s=e.config.optionMergeStrategies;s[g]=s[v]=(n,a)=>n?[...new Set([].concat(n,a))]:Array.isArray(a)?a:[a]}};exports.LifecycleLogPlugin=Te;exports.MIXIN_HOOK_CREATE=g;exports.MIXIN_HOOK_DESTROY=v;exports.MIXIN_MAP_NAME=T;exports.MapMixin=d;exports.TgCircle=re;exports.TgCustomControl=q;exports.TgElementOverlay=ae;exports.TgHeatmap=Q;exports.TgInfoBox=ce;exports.TgInfoWindow=ye;exports.TgLabel=be;exports.TgMap=k;exports.TgMapTypeControl=X;exports.TgMapWidget=H;exports.TgMarker=M;exports.TgMarkerClusterer=L;exports.TgPolygon=$e;exports.TgPolyline=ke;exports.TgRectangle=_e;exports.TgScaleControl=K;exports.TgStreetViewControl=J;exports.TgTrafficLayer=oe;exports.TgZoomControl=Y;exports.callHook=C;exports.computedSaveOnThis=N;exports.createEmptyVNode=$;exports.createPropertyObject=E;exports.createPropertyObjectTyped=x;exports.default=Oe;exports.eventProp=p;exports.extractVNodeFromSlotsByComponent=D;exports.findAncestorComponentByType=P;exports.findByComponentType=z;exports.isComponentByType=_;exports.optionalProp=o;exports.requiredProp=m;exports.safeAsComponent=w;exports.splitAttrs=I;exports.stringEnumProp=c;exports.stringUnionPropFromValues=S;exports.useEventLogMethods=V;exports.useSplittedAttrs=u;exports.useTgMapInner=O;Object.keys(i).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>i[e]})});
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const h=require("tg-commons"),i=require("tg-map-core"),r=require("vue");require("tg-map-core/dist/tg-map-core.css");function c(e,t){return{type:String,default:t,validator:s=>Object.values(e).includes(s)}}function S(e,t){return{type:String,default:t,validator:s=>e.includes(s)}}function m(e){return{type:e,required:!0}}function o(e,t){return{type:e,default:t}}function N(e){const t={};return Object.entries(e).forEach(([s,n])=>{const a=`__${s}`;t[s]={get(){const l=this[a];return l===void 0?n:l},set(l){this[a]=l}}}),t}const b={enumerable:!0,configurable:!0,get:h.noop,set:h.noop};function E(e){return Object.keys(e).forEach(t=>{const s=e[t];let n=!1;typeof s=="function"?(b.get=s,b.set=h.noop,n=!0):typeof s=="object"&&typeof s.get=="function"&&(b.get=s.get,b.set=s.set,n=!0),n&&(e[t]=Object.defineProperty(e,t,b))}),e}function x(e){return E(e)}function C(){return r.createCommentVNode()}function $(e,t){const s=e.$options[t];if(s)for(const n of s)n.call(e)}function z(e,t){for(const s of e)if(s.$options.name===t.name)return s}function D(e,t){if(!e.default)return;const s=e.default();for(const n of s)if((n==null?void 0:n.type).name===t.name)return n}function I(e,t){const s={},n={},a={};return Object.keys(e).forEach(l=>{l.startsWith("on")?s[i.Strings.pascal2kebab(l.substring(2))]=e[l]:n[l]=e[l]}),t&&Object.keys(t).forEach(l=>{l.startsWith("on")&&(a[i.Strings.pascal2kebab(l.substring(2))]=t[l])}),{binds:n,listeners:s,listenerProps:a}}function u(e,t){return r.computed(()=>I(e,t))}function p(){return Function}const V=()=>{let e,t;function s(a){console.log(a),e=a&&a.type,t=Date.now()}function n(a){((a&&a.type)!==e||Date.now()-(t??0)>1e3)&&s(a)}return{eventLog:s,eventLogLess:n}};function _(e,t){return(e==null?void 0:e.$options.name)===t.name}function w(e,t){return _(e,t)?e:void 0}function P(e,t,s){let n=t;for(;n;){if(_(n,e))return n;if(s&&_(n,s))return;n=n.$parent}}const T="$map",g="onCreate",v="onDestroy",d=r.defineComponent({inject:[T],mounted(){$(this,g)},beforeUnmount(){$(this,v)},methods:{recreate(){$(this,v),$(this,g)}},render(){return C()}}),W={type:c(i.TgMapType,i.TgMapType.google),center:m(i.LatLng),centerSyncDelay:o(Number,300),currentCenter:o(i.LatLng),lastCenter:o(i.LatLng),zoom:m(Number),infoWindowMode:S(i.InfoWindowModeValues),gestureHandling:c(i.GestureHandlingOptions),fractionalZoom:o(Boolean),minZoom:o(Number),maxZoom:o(Number),mapStyle:o(Object),mapTypeId:c(i.BuildInMapTypeId),mapType:o(Object),hideLogo:o(Boolean),onLoad:p(),"onUpdate:center":p(),"onUpdate:current-center":p(),"onUpdate:last-center":p(),"onUpdate:map-type":p(),"onUpdate:map-type-id":p(),"onUpdate:zoom":p(),onError:p()},R=r.defineComponent({name:"tg-map",provide(){return{[T]:r.computed(()=>this.map)}},inheritAttrs:!1,props:W,emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),centerSyncTimeoutId:void 0}},data(){return{map:h.typed(),isDestroyed:!1}},computed:{propsJson(){return i.Objects.toJsonSafely(this.$props)}},watch:{gestureHandling(e){var t;e&&((t=this.map)==null||t.setGestureHandling(i.unwrapStringEnumValue(e,i.GestureHandlingOptions)))},minZoom(e){var t;(t=this.map)==null||t.setMinZoom(e)},maxZoom(e){var t;(t=this.map)==null||t.setMaxZoom(e)},mapStyle(e){var t;(t=this.map)==null||t.setMapStyle(e)},mapTypeId(e){var t;e&&((t=this.map)==null||t.setBuildInMapTypeId(i.unwrapStringEnumValue(e,i.BuildInMapTypeId)))},mapType(e){var t;(t=this.map)==null||t.setMapType(e??i.MapType.NORMAL)},hideLogo(e){var t;(t=this.map)==null||t.setHideLogo(e??!1)},fractionalZoom(e){var t;(t=this.map)==null||t.setFractionalZoom(e??!1)}},async mounted(){const e=i.unwrapStringEnumValue(this.type,i.TgMapType);try{await i.loadCachedMap(e)}catch(a){this.$emit("error",a);return}if(this.isDestroyed){console.warn(`tg-map(type=${e})已销毁, 不需要继续执行`);return}const t=i.TgMapFactory.createMap(e,this.$refs.map,{center:this.center,zoom:this.zoom,infoWindowMode:this.infoWindowMode,gestureHandling:i.unwrapStringEnumValue(this.gestureHandling,i.GestureHandlingOptions),minZoom:this.minZoom,maxZoom:this.maxZoom,mapStyle:this.mapStyle,buildInMapTypeId:i.unwrapStringEnumValue(this.mapTypeId,i.BuildInMapTypeId),hideLogo:this.hideLogo,fractionalZoom:this.fractionalZoom});if(this.map=r.markRaw(t),this.mapType&&t.setMapType(this.mapType),"ready"in this.attrs.listeners&&console.error("地图载入完成的事件已经从ready改为了load, 请手动修改"),i.bindEvents(this.attrs.listeners,t,this.$emit,["load"]),this.$emit("load",t),r.watch([()=>this.zoom,()=>this.center],([a,l],[y,A])=>{a!==y&&t.setZoom(a),l!==A&&(t.getCenter().equals(l)||t.setCenter(l))}),this.attrs.listenerProps["update:center"]){const a=()=>this.$emit("update:center",t.getCenter());t.addEventListener("center-changed",()=>{this.centerSyncDelay>0?(clearTimeout(this.centerSyncTimeoutId),this.centerSyncTimeoutId=setTimeout(a,this.centerSyncDelay)):a()})}this.attrs.listenerProps["update:current-center"]&&(this.$emit("update:current-center",this.center),t.addEventListener("center-changed",()=>{this.$emit("update:current-center",t.getCenter())})),this.attrs.listenerProps["update:zoom"]&&t.addEventListener("zoom-changed",()=>{this.$emit("update:zoom",t.getZoom())});const s=this.attrs.listenerProps["update:map-type"],n=this.attrs.listenerProps["update:map-type-id"];(s||n)&&t.addEventListener("map-type-changed",()=>{const a=t.getMapType();s&&this.$emit("update:map-type",a),n&&this.$emit("update:map-type-id",a.id)})},unmounted(){this.isDestroyed=!0,this.map&&(this.attrs.listenerProps["update:last-center"]&&this.$emit("update:last-center",this.map.getCenter()),this.attrs.listenerProps["update:center"]&&(clearTimeout(this.centerSyncTimeoutId),this.$emit("update:center",this.map.getCenter())))},methods:{}}),f=(e,t)=>{const s=e.__vccOpts||e;for(const[n,a]of t)s[n]=a;return s};function Z(e,t,s,n,a,l){return r.openBlock(),r.createElementBlock("div",r.mergeProps({class:"tg-map"},e.attrs.binds),[r.createElementVNode("div",{ref:"map",class:r.normalizeClass({"tg-map__map":!0,[`tg-map__map--hide-logo-${e.type}`]:e.hideLogo})},null,2),r.createCommentVNode("",!0),e.map?r.renderSlot(e.$slots,"default",{key:1}):r.createCommentVNode("",!0),r.renderSlot(e.$slots,"overlay")],16)}const k=f(R,[["render",Z]]),U=r.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:i.dimen}});function j(e,t,s,n,a,l){return r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(e.$options.name),style:r.normalizeStyle({left:e.dimen(e.left),top:e.dimen(e.topValue),right:e.dimen(e.right),bottom:e.dimen(e.bottom)})},[r.renderSlot(e.$slots,"default")],6)}const H=f(U,[["render",j]]),F=r.defineComponent({name:"tg-custom-control",mixins:[d],props:{position:c(i.ControlPosition,i.ControlPosition.RIGHT_BOTTOM)},setup(){return{control:h.lateinit()}},watch:{position(){this.recreate()}},onCreate(){w(this.$parent,k)||console.warn("请将tg-custom-control放到tg-map中");const{$el:e}=this,t=class extends i.CustomControl{onCreateElement(){return e}};this.control=new t(i.unwrapStringEnumValue(this.position,i.ControlPosition)),this.$map.addCustomControl(this.control)},onDestroy(){this.$map.removeCustomControl(this.control)}});function G(e,t,s,n,a,l){return r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(e.$options.name)},[r.renderSlot(e.$slots,"default")],2)}const q=f(F,[["render",G]]),X=r.defineComponent({name:"tg-map-type-control",mixins:[d],props:{position:c(i.ControlPosition,i.ControlPosition.TOP_LEFT),type:c(i.MapTypeControlType),mapTypes:o(Array)},setup(){return{control:h.lateinit()}},watch:{position(e){this.control.setPosition(e)},type(){this.recreate()},mapTypes:{handler(){this.recreate()},deep:!0}},onCreate(){this.control=this.$map.createMapTypeControl(i.unwrapStringEnumValue(this)),this.$map.addControl(this.control)},onDestroy(){this.$map.removeControl(this.control)}}),K=r.defineComponent({name:"tg-scale-control",mixins:[d],props:{position:c(i.ControlPosition,i.ControlPosition.BOTTOM_RIGHT)},setup(){return{control:h.lateinit()}},watch:{position(e){this.control.setPosition(e)}},onCreate(){this.control=this.$map.createScaleControl(i.unwrapStringEnumValue(this)),this.$map.addControl(this.control)},onDestroy(){this.$map.removeControl(this.control)}});function B(){var s;const e=(s=r.getCurrentInstance())==null?void 0:s.type;let t=(e==null?void 0:e.name)??(e==null?void 0:e.__name);if(!t){const n=e==null?void 0:e.__file;n&&(t=h.path.basename(n,".vue"))}return t}function O(){const e=r.inject(T);let t,s;return e==null&&h.throwError(`<${B()||"unknown"}>必须作为<tg-map>的子代组件`),{mapRef:e,get map(){return e.value??h.throwError("map尚未初始化")},[g](n){r.onMounted(n),t&&h.throwError(`${g}只能调用一次`),t=n},[v](n){r.onBeforeUnmount(n),s&&h.throwError(`${v}只能调用一次`),s=n},recreate(){s==null||s(),t==null||t()}}}const J=r.defineComponent({name:"tg-street-view-control",props:{position:c(i.ControlPosition,i.ControlPosition.RIGHT_BOTTOM)},setup(e){let t=h.lateinit();const{map:s,onCreate:n,onDestroy:a}=O();return n(()=>{t=s.createStreetViewControl(i.unwrapStringEnumValue(e)),s.addControl(t)}),a(()=>{s.removeControl(t)}),r.watch(()=>e.position,l=>{t.setPosition(i.unwrapStringEnumValue(l,i.ControlPosition))}),C}}),Y=r.defineComponent({name:"tg-zoom-control",props:{position:c(i.ControlPosition,i.ControlPosition.RIGHT_BOTTOM),showZoomLevel:o(Boolean)},setup(e){let t=h.lateinit();const{map:s,onCreate:n,onDestroy:a}=O();return n(()=>{t=s.createZoomControl(i.unwrapStringEnumValue(e)),s.addControl(t)}),a(()=>{s.removeControl(t)}),r.watch(()=>e.position,l=>{t.setPosition(i.unwrapStringEnumValue(l,i.ControlPosition))}),r.watch(()=>e.showZoomLevel,l=>{t.setShowZoomLevel(l??!0)}),C}}),Q=r.defineComponent({name:"tg-heatmap",props:{maxIntensity:o(Number),gradient:o(Object),opacity:o(Number),radius:o(Number),data:m(Array)},setup(e){const{map:t,onCreate:s,onDestroy:n}=O();let a=h.lateinit();return s(()=>{a=t.createHeatmap(e)}),n(()=>{a.remove()}),r.watch(()=>e.data,l=>a.setData(l)),r.watch([()=>e.maxIntensity,()=>e.gradient,()=>e.opacity,()=>e.radius],()=>a.setOptions(e)),C}}),ee=r.defineComponent({name:"tg-marker-clusterer",mixins:[d],props:{gridSize:o(Number),maxZoom:o(Number),minClusterSize:o(Number),averageCenter:o(Boolean),styles:o(Array),stylesIndexCalculator:o(Function),zIndex:o(Number)},setup(){return{clusterer:h.lateinit(),markers:h.typed([]),pendingMarkers:h.typed([])}},watch:{gridSize(){this.recreate()},maxZoom(){this.recreate()},minClusterSize(){this.recreate()},averageCenter(){this.recreate()},styles:{handler(){this.recreate()},deep:!0},stylesIndexCalculator(){this.recreate()},zIndex(){this.recreate()}},onCreate(){this.clusterer=this.$map.createMarkerClusterer(this)},onDestroy(){this.clusterer.clearMarkers(!0),this.pendingMarkers=[]},methods:{isInitiated(){return this.clusterer!=null},performAddMarkers(){this.clusterer.addMarkers(this.pendingMarkers),this.pendingMarkers=[]},onAddMarker(e){this.markers.push(e),this.isInitiated()&&(this.pendingMarkers.length||this.$nextTick(this.performAddMarkers),this.pendingMarkers.push(e))},onRemoveMarker(e){this.isInitiated()&&(h.Arrays.remove(this.pendingMarkers,e)||this.clusterer.removeMarker(e)),h.Arrays.remove(this.markers,e)}}});function te(e,t,s,n,a,l){return r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(e.$options.name)},[r.renderSlot(e.$slots,"default")],2)}const L=f(ee,[["render",te]]),oe=r.defineComponent({name:"tg-traffic-layer",mixins:[d],setup(){return{layer:h.lateinit()}},watch:{},onCreate(){this.layer=new i.TrafficLayer,this.$map.addLayer(this.layer)},onDestroy(){this.$map.removeLayer(this.layer)}}),re=r.defineComponent({name:"tg-circle",mixins:[d],inheritAttrs:!1,props:{center:m(i.LatLng),radius:m(Number),clickable:o(Boolean),editable:o(Boolean),strokeColor:o(String),strokeOpacity:o(Number),strokeWeight:o(Number),visible:o(Boolean),zIndex:o(Number),fillColor:o(String),fillOpacity:o(Number),"onUpdate:center":p(),"onUpdate:radius":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit(),emittedRadius:void 0,emittedCenter:void 0}},watch:{center(e){if(this.emittedCenter!=null){const t=this.emittedCenter;if(this.emittedCenter=void 0,t===r.toRaw(e))return}this.overlay.setCenter(e)},radius(e){if(this.emittedRadius!=null){const t=this.emittedRadius;if(this.emittedRadius=void 0,t===e)return}this.overlay.setRadius(e)},clickable(){this.recreate()},editable(e){this.overlay.setEditable(e)},strokeColor(e){this.overlay.setStrokeColor(e)},strokeOpacity(e){this.overlay.setStrokeOpacity(e)},strokeWeight(e){this.overlay.setStrokeWeight(e)},fillColor(e){this.overlay.setFillColor(e)},fillOpacity(e){this.overlay.setFillOpacity(e)},visible(e){this.overlay.setVisible(e)},zIndex(e){this.overlay.setZIndex(e)}},onCreate(){this.overlay=this.$map.createCircle(this),this.$map.addOverlay(this.overlay),i.bindEvents(this.attrs.listeners,this.overlay,this.$emit),this.attrs.listenerProps["update:center"]&&this.overlay.addEventListener("center-changed",()=>{this.$emit("update:center",this.emittedCenter=this.overlay.getCenter())}),this.attrs.listenerProps["update:radius"]&&this.overlay.addEventListener("radius-changed",()=>{this.$emit("update:radius",this.emittedRadius=this.overlay.getRadius())})},onDestroy(){this.$map.removeOverlay(this.overlay)}});class ie extends i.ElementOverlay{constructor(t,s,n,a){super(t,s),this.content=n,this.position=a}onCreate(){return this.content}onDraw(t){const s=t.fromLatLngToOverlayPoint(this.position);this.content.style.left=s.x+"px",this.content.style.top=s.y+"px"}setPosition(t){this.position=t,this.draw()}}const se=r.defineComponent({name:"tg-element-overlay",mixins:[d],props:{mapPane:c(i.MapPane,i.MapPane.overlayMouseTarget),position:m(i.LatLng)},setup(){return{overlay:h.lateinit()}},watch:{position(e){this.overlay.setPosition(e)},mapPane(){this.recreate()}},methods:{content(){return this.$el}},onCreate(){this.overlay=new ie(this.$map,i.unwrapStringEnumValue(this),this.content(),this.position),this.$map.addElementOverlay(this.overlay)},onDestroy(){this.$map.removeElementOverlay(this.overlay)}});function ne(e,t,s,n,a,l){return r.openBlock(),r.createElementBlock("div",r.mergeProps({class:e.$options.name},e.$attrs),[r.renderSlot(e.$slots,"default")],16)}const ae=f(se,[["render",ne]]),le={position:m(i.LatLng),title:o(String),label:o(Object),icon:o(Object),clickable:o(Boolean),draggable:o(Boolean),crossOnDrag:o(Boolean),cursor:o(String),zIndex:o(Number),visible:o(Boolean),normalizePositionForBaidu:o(Boolean),autoAddToClusterer:o(Boolean,!0),"onUpdate:position":p()},he=r.defineComponent({name:"tg-marker",mixins:[d],inheritAttrs:!1,props:le,emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),marker:h.lateinit(),labelOverlay:h.typed(),info:h.typed(),emittedPosition:void 0,autoAddToClustererWhenCreate:e.autoAddToClusterer}},watch:{position(e){if(this.emittedPosition!=null){const t=this.emittedPosition;if(this.emittedPosition=void 0,t===r.toRaw(e))return}this.marker.setPosition(e)},title(e){this.marker.setTitle(e)},label(e,t){h.deepEqual(e,t)||(e?this.marker.setLabel(e):this.recreate())},icon(e){e?this.marker.setIcon(e):this.recreate()},clickable(e){this.marker instanceof i.BaiduMarker?this.recreate():this.marker.setClickable(e)},draggable(e){this.marker.setDraggable(e)},crossOnDrag(){this.recreate()},cursor(){this.recreate()},zIndex(e){this.marker instanceof i.BaiduMarker?this.recreate():this.marker.setZIndex(e)},visible(e){this.marker.setVisible(e)},normalizePositionForBaidu(){this.recreate()},autoAddToClusterer(){this.recreate()}},onCreate(){this.marker=this.$map.createMarker(this),this.labelOverlay&&this.marker.attachLabelOverlay(this.labelOverlay.overlay),this.$clusterer()&&this.autoAddToClusterer?this.$clusterer().onAddMarker(this.marker):this.$map.addOverlay(this.marker),this.autoAddToClustererWhenCreate=this.autoAddToClusterer,this.info&&this.info.show&&this.info.overlay.open(this.marker),i.bindEvents(this.attrs.listeners,this.marker,this.$emit),this.attrs.listenerProps["update:position"]&&this.marker.addEventListener("dragend",e=>{this.$emit("update:position",this.emittedPosition=e.position)})},onDestroy(){this.$clusterer()&&this.autoAddToClustererWhenCreate?this.$clusterer().onRemoveMarker(this.marker):this.$map.removeOverlay(this.marker)},methods:{$clusterer(){return w(this.$parent,L)},onAddLabel(e){this.labelOverlay=e,this.marker&&this.marker.attachLabelOverlay(e.overlay)},onRemoveLabel(e){this.marker.attachLabelOverlay(void 0),this.labelOverlay=void 0},onAddInfo(e){this.info=e,this.marker&&e.show&&e.overlay.open(this.marker)},onRemoveInfo(e){e.overlay.close(),this.info=void 0},onInfoShowChanged(e,t){t?e.overlay.open(this.marker):e.overlay.close()}}});function pe(e,t,s,n,a,l){return r.renderSlot(e.$slots,"default")}const M=f(he,[["render",pe]]),de=r.defineComponent({name:"tg-info-box",mixins:[d],inheritAttrs:!1,props:{show:m(Boolean),position:o(i.LatLng),offset:o(Object),maxWidth:o(Number),borderClass:o(String),zIndex:o(Number),disableAutoPan:o(Boolean),"onUpdate:show":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit()}},watch:{show(e){this.$marker()?this.$marker().onInfoShowChanged(this,e):e?this.overlay.open():this.overlay.close()},position(e){this.overlay.setPosition(e)},offset(){this.recreate()},maxWidth(e){this.overlay.setMaxWidth(e)},borderClass(){this.recreate()},zIndex(e){this.overlay.setZIndex(e)},disableAutoPan(){this.recreate()}},onCreate(){this.overlay=this.$map.createInfoBox(this.getOptions()),this.$marker()?this.$marker().onAddInfo(this):this.show&&this.overlay.open(),this.attrs.listenerProps["update:show"]&&this.overlay.addEventListener("closeclick",()=>{this.$emit("update:show",!1)}),i.bindEvents(this.attrs.listeners,this.overlay,this.$emit)},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,disableAutoPan:this.disableAutoPan}},content(){return this.$map instanceof i.GoogleMap?i.wrapComponentElementForGoogle(this.$el,"google-info-container"):this.$el},$marker(){return P(M,this.$parent,k)},open(e){this.overlay.open(e)},close(){this.overlay.close()}}});function me(e,t,s,n,a,l){return r.openBlock(),r.createElementBlock("div",r.mergeProps({class:e.$options.name},e.attrs.binds),[r.renderSlot(e.$slots,"default")],16)}const ce=f(de,[["render",me]]),ue=r.defineComponent({name:"tg-info-window",mixins:[d],inheritAttrs:!1,props:{show:m(Boolean),position:o(i.LatLng),maxWidth:o(Number),offset:o(Object),disableAutoPan:o(Boolean),"onUpdate:show":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit()}},watch:{show(e){this.$marker()?this.$marker().onInfoShowChanged(this,e):e?this.overlay.open():this.overlay.close()},position(e){this.overlay.setPosition(e)},maxWidth(){this.recreate()},offset(){this.recreate()},disableAutoPan(){this.recreate()}},methods:{content(){return this.$map instanceof i.GoogleMap?i.wrapComponentElementForGoogle(this.$el,"google-info-container"):this.$el},$marker(){return P(M,this.$parent,k)},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)}),i.bindEvents(this.attrs.listeners,this.overlay,this.$emit)},onDestroy(){this.$marker()?this.$marker().onRemoveInfo(this):this.overlay.close()}});function fe(e,t,s,n,a,l){return r.withDirectives((r.openBlock(),r.createElementBlock("div",r.mergeProps({class:e.$options.name},e.attrs.binds),[r.renderSlot(e.$slots,"default")],16)),[[r.vShow,e.show]])}const ye=f(ue,[["render",fe]]),ge=r.defineComponent({name:"tg-label",mixins:[d],inheritAttrs:!1,props:{position:o(i.LatLng),offset:o(Object),zIndex:o(Number),mapPane:c(i.MapPane)},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t),overlay:h.lateinit()}},watch:{position(e){this.overlay.setPosition(e)},offset(e){this.overlay.setOffset(e)},zIndex(e){this.overlay.setZIndex(e)},visible(e){this.overlay.setVisible(e)},mapPane(){this.recreate()}},methods:{content(){return this.$el},marker(){var e;return(e=this.$marker())==null?void 0:e.marker},$marker(){return P(M,this.$parent,k)},getOptions(){return{content:this.content(),position:this.position,offset:this.offset,zIndex:this.zIndex,mapPane:i.unwrapStringEnumValue(this.mapPane,i.MapPane)}}},onCreate(){this.overlay=this.$map.createLabel(this.getOptions()),this.$marker()?this.$marker().onAddLabel(this):this.$map.addOverlay(this.overlay),i.bindEvents(this.attrs.listeners,this.overlay,this.$emit)},onDestroy(){this.$marker()?this.$marker().onRemoveLabel(this):this.$map.removeOverlay(this.overlay)}});function ve(e,t,s,n,a,l){return r.openBlock(),r.createElementBlock("div",r.mergeProps({class:e.$options.name},e.attrs.binds),[r.renderSlot(e.$slots,"default")],16)}const be=f(ge,[["render",ve]]),$e={paths:m(Array),clickable:o(Boolean),editable:o(Boolean),strokeColor:o(String),strokeOpacity:o(Number),strokeWeight:o(Number),visible:o(Boolean),zIndex:o(Number),fillColor:o(String),fillOpacity:o(Number),"onUpdate:paths":p()},Ce=r.defineComponent({name:"tg-polygon",mixins:[d],inheritAttrs:!1,props:$e,emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit(),emittedPaths:void 0}},watch:{paths:{handler(e){if(this.emittedPaths!=null){const t=this.emittedPaths;if(this.emittedPaths=void 0,t.length===e.length&&t.every((s,n)=>s===r.toRaw(e[n])))return}this.overlay.setPaths(e)},deep:!0},clickable(){this.recreate()},editable(e){this.overlay.setEditable(e)},strokeColor(e){this.overlay.setStrokeColor(e)},strokeOpacity(e){this.overlay.setStrokeOpacity(e)},strokeWeight(e){this.overlay.setStrokeWeight(e)},fillColor(e){this.overlay.setFillColor(e)},fillOpacity(e){this.overlay.setFillOpacity(e)},visible(e){this.overlay.setVisible(e)},zIndex(e){this.overlay.setZIndex(e)}},onCreate(){this.overlay=this.$map.createPolygon(this),this.$map.addOverlay(this.overlay),i.bindEvents(this.attrs.listeners,this.overlay,this.$emit),this.attrs.listenerProps["update:paths"]&&this.overlay.addEventListener("paths-edited",()=>{this.$emit("update:paths",this.emittedPaths=this.overlay.getPaths())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),ke=r.defineComponent({name:"tg-polyline",mixins:[d],inheritAttrs:!1,props:{path:m(Array),icons:o(Array),clickable:o(Boolean),editable:o(Boolean),strokeColor:o(String),strokeOpacity:o(Number),strokeWeight:o(Number),visible:o(Boolean),zIndex:o(Number),"onUpdate:path":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit(),emittedPath:void 0}},watch:{path:{handler(e){if(this.emittedPath!=null){const t=this.emittedPath;if(this.emittedPath=void 0,t===r.toRaw(e))return}this.overlay.setPath(e)},deep:!0},icons:{handler(){this.recreate()},deep:!0},clickable(){this.recreate()},editable(e){this.overlay.setEditable(e)},strokeColor(e){this.overlay.setStrokeColor(e)},strokeOpacity(e){this.overlay.setStrokeOpacity(e)},strokeWeight(e){this.overlay.setStrokeWeight(e)},visible(e){this.overlay.setVisible(e)},zIndex(e){this.overlay.setZIndex(e)}},onCreate(){this.overlay=this.$map.createPolyline(this),this.$map.addOverlay(this.overlay),i.bindEvents(this.attrs.listeners,this.overlay,this.$emit),this.attrs.listenerProps["update:path"]&&this.overlay.addEventListener("path-edited",()=>{this.$emit("update:path",this.emittedPath=this.overlay.getPath())})},onDestroy(){this.overlay.remove()}}),_e=r.defineComponent({name:"tg-rectangle",mixins:[d],inheritAttrs:!1,props:{bounds:m(Object),clickable:o(Boolean),editable:o(Boolean),strokeColor:o(String),strokeOpacity:o(Number),strokeWeight:o(Number),visible:o(Boolean),zIndex:o(Number),fillColor:o(String),fillOpacity:o(Number),"onUpdate:bounds":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit(),emittedBounds:void 0}},watch:{bounds(e){if(this.emittedBounds!=null){const t=this.emittedBounds;if(this.emittedBounds=void 0,t.equals(e))return}this.overlay.setBounds(e)},clickable(){this.recreate()},editable(e){this.overlay.setEditable(e)},strokeColor(e){this.overlay.setStrokeColor(e)},strokeOpacity(e){this.overlay.setStrokeOpacity(e)},strokeWeight(e){this.overlay.setStrokeWeight(e)},fillColor(e){this.overlay.setFillColor(e)},fillOpacity(e){this.overlay.setFillOpacity(e)},visible(e){this.overlay.setVisible(e)},zIndex(e){this.overlay.setZIndex(e)}},onCreate(){this.overlay=this.$map.createRectangle(this),this.$map.addOverlay(this.overlay),i.bindEvents(this.attrs.listeners,this.overlay,this.$emit),this.attrs.listenerProps["update:bounds"]&&this.overlay.addEventListener("bounds-changed",()=>{this.$emit("update:bounds",this.emittedBounds=this.overlay.getBounds())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),Pe=["beforeUpdate","updated"],Te={install(e,t={}){if(t.enable!==!1){const s=r.defineComponent({beforeCreate(){const n=B()??"",l=(t.nameRegex||/^[A-Z]/).test(n)?y=>{t.hookNames?t.hookNames.includes(y)&&console.debug("[lifecycle]",n,y):Pe.includes(y)||console.debug("[lifecycle]",n,y)}:h.noop;l("beforeCreate"),this.__life_impl=l},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(n){this.__life_impl(n)}},onCreate(){this.__life("onCreate")},onDestroy(){this.__life("onDestroy")}});e.mixin(s)}}},Oe={install(e,t){i.setTgMapConfig(t);const s=e.config.optionMergeStrategies;s[g]=s[v]=(n,a)=>n?[...new Set([].concat(n,a))]:Array.isArray(a)?a:[a]}};exports.LifecycleLogPlugin=Te;exports.MIXIN_HOOK_CREATE=g;exports.MIXIN_HOOK_DESTROY=v;exports.MIXIN_MAP_NAME=T;exports.MapMixin=d;exports.TgCircle=re;exports.TgCustomControl=q;exports.TgElementOverlay=ae;exports.TgHeatmap=Q;exports.TgInfoBox=ce;exports.TgInfoWindow=ye;exports.TgLabel=be;exports.TgMap=k;exports.TgMapTypeControl=X;exports.TgMapWidget=H;exports.TgMarker=M;exports.TgMarkerClusterer=L;exports.TgPolygon=Ce;exports.TgPolyline=ke;exports.TgRectangle=_e;exports.TgScaleControl=K;exports.TgStreetViewControl=J;exports.TgTrafficLayer=oe;exports.TgZoomControl=Y;exports.callHook=$;exports.computedSaveOnThis=N;exports.createEmptyVNode=C;exports.createPropertyObject=E;exports.createPropertyObjectTyped=x;exports.default=Oe;exports.eventProp=p;exports.extractVNodeFromSlotsByComponent=D;exports.findAncestorComponentByType=P;exports.findByComponentType=z;exports.isComponentByType=_;exports.optionalProp=o;exports.requiredProp=m;exports.safeAsComponent=w;exports.splitAttrs=I;exports.stringEnumProp=c;exports.stringUnionPropFromValues=S;exports.useEventLogMethods=V;exports.useSplittedAttrs=u;exports.useTgMapInner=O;Object.keys(i).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>i[e]})});
|
|
2
2
|
//# sourceMappingURL=tg-map.cjs.map
|