vue3-google-map 0.12.0 → 0.13.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/README.md CHANGED
@@ -537,7 +537,7 @@ export default defineComponent({
537
537
 
538
538
  Use the `MarkerCluster` component to display a large number of markers on a map. It will combine markers of close proximity into clusters, and simplify the display of markers on the map. Can be used with the `Marker` or `CustomMarker` components.
539
539
 
540
- ## Usage
540
+ #### Usage
541
541
 
542
542
  Simply pass your `Marker`/`CustomMarker`(s) in the `default` slot of the `MarkerCluster` component.
543
543
 
@@ -614,7 +614,7 @@ The basic components that `vue3-google-map` provides are fully reactive and will
614
614
  - `api`: The [Google Maps API](https://developers.google.com/maps/documentation/javascript/reference).
615
615
  - `mapTilesLoaded`: A boolean indicating when the map tiles have been fully loaded.
616
616
 
617
- Some useage patterns:
617
+ Some usage patterns:
618
618
 
619
619
  ```vue
620
620
  <template>
@@ -636,8 +636,8 @@ export default defineComponent({
636
636
  setup() {
637
637
  const mapRef = ref(null)
638
638
 
639
- // Second pattern: compute some value using the API or map instance when "ready"
640
- markerIcon = computed(() => mapRef.value.ready
639
+ // Second pattern: compute some value using the API or map instance when "ready"
640
+ const markerIcon = computed(() => mapRef.value?.ready
641
641
  ? {
642
642
  url: /* icon image url */,
643
643
  scaledSize: new mapRef.value.api.Size(20, 20)
@@ -645,7 +645,7 @@ export default defineComponent({
645
645
  : null)
646
646
 
647
647
  // Third pattern: watch for "ready" then do something with the API or map instance
648
- watch(() => mapRef.value.ready, (ready) => {
648
+ watch(() => mapRef.value?.ready, (ready) => {
649
649
  if (!ready) return
650
650
 
651
651
  // do something with the api using `mapRef.value.api`
package/dist/cjs/index.js CHANGED
@@ -13,7 +13,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
15
  *****************************************************************************/
16
- 'use strict';Object.defineProperty(exports,"__esModule",{value:!0});var vue=require("vue");let mapSymbol=Symbol("map"),apiSymbol=Symbol("api"),markerSymbol=Symbol("marker"),markerClusterSymbol=Symbol("markerCluster"),customMarkerClassSymbol=Symbol("CustomMarker"),mapTilesLoadedSymbol=Symbol("mapTilesLoaded"),loaderInstance=vue.ref(null),polylineEvents="click dblclick drag dragend dragstart mousedown mousemove mouseout mouseover mouseup rightclick".split(" ");
16
+ 'use strict';Object.defineProperty(exports,"__esModule",{value:!0});var vue=require("vue");let mapSymbol=Symbol("map"),apiSymbol=Symbol("api"),markerSymbol=Symbol("marker"),markerClusterSymbol=Symbol("markerCluster"),customMarkerClassSymbol=Symbol("CustomMarker"),mapTilesLoadedSymbol=Symbol("mapTilesLoaded"),polylineEvents="click dblclick drag dragend dragstart mousedown mousemove mouseout mouseover mouseup rightclick".split(" ");
17
17
  var fastDeepEqual$1=function equal(a,b){if(a===b)return!0;if(a&&b&&"object"==typeof a&&"object"==typeof b){if(a.constructor!==b.constructor)return!1;var d;if(Array.isArray(a)){var e=a.length;if(e!=b.length)return!1;for(d=e;0!==d--;)if(!equal(a[d],b[d]))return!1;return!0}if(a.constructor===RegExp)return a.source===b.source&&a.flags===b.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===b.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===b.toString();var g=Object.keys(a);
18
18
  e=g.length;if(e!==Object.keys(b).length)return!1;for(d=e;0!==d--;)if(!Object.prototype.hasOwnProperty.call(b,g[d]))return!1;for(d=e;0!==d--;)if(e=g[d],!equal(a[e],b[e]))return!1;return!0}return a!==a&&b!==b};let DEFAULT_ID="__googleMapsScriptId";
19
19
  class Loader{constructor({apiKey:a,channel:b,client:c,id:d=DEFAULT_ID,libraries:e=[],language:g,region:f,version:k,mapIds:l,nonce:h,retries:m=3,url:n="https://maps.googleapis.com/maps/api/js"}){this.CALLBACK="__googleMapsCallback";this.callbacks=[];this.loading=this.done=!1;this.errors=[];this.version=k;this.apiKey=a;this.channel=b;this.client=c;this.id=d||DEFAULT_ID;this.libraries=e;this.language=g;this.region=f;this.mapIds=l;this.nonce=h;this.retries=m;this.url=n;if(Loader.instance){if(!fastDeepEqual$1(this.options,
@@ -24,15 +24,16 @@ this.loading=this.done=!1;this.errors=[];this.onerrorEvent=null}resetIfRetryingF
24
24
  !1;this.callbacks.forEach(a=>{a(this.onerrorEvent)});this.callbacks=[]}execute(){this.resetIfRetryingFailed();this.done?this.callback():window.google&&window.google.maps&&window.google.maps.version?(console.warn("Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match."),this.callback()):this.loading||(this.loading=!0,this.setCallback(),this.setScript())}}
25
25
  function createCustomMarkerClass(a){return class extends a.OverlayView{constructor(a){super();let {element:b,...d}=a;this.element=b;this.opts=d;this.opts.map&&this.setMap(this.opts.map)}getPosition(){return this.opts.position?this.opts.position instanceof a.LatLng?this.opts.position:new a.LatLng(this.opts.position):null}getVisible(){if(!this.element)return!1;let a=this.element;return"none"!==a.style.display&&"hidden"!==a.style.visibility&&(""===a.style.opacity||.01<Number(a.style.opacity))}onAdd(){if(this.element){var a=
26
26
  this.getPanes();a&&a.overlayMouseTarget.appendChild(this.element)}}draw(){if(this.element){var a=this.getProjection().fromLatLngToDivPixel(this.getPosition());if(a){this.element.style.position="absolute";let b=this.element.offsetHeight;var c=this.element.offsetWidth;switch(this.opts.anchorPoint){case "TOP_CENTER":c=a.x-c/2;a=a.y;break;case "BOTTOM_CENTER":c=a.x-c/2;a=a.y-b;break;case "LEFT_CENTER":c=a.x;a=a.y-b/2;break;case "RIGHT_CENTER":c=a.x-c;a=a.y-b/2;break;case "TOP_LEFT":c=a.x;a=a.y;break;
27
- case "TOP_RIGHT":c=a.x-c;a=a.y;break;case "BOTTOM_LEFT":c=a.x;a=a.y-b;break;case "BOTTOM_RIGHT":c=a.x-c;a=a.y-b;break;default:c=a.x-c/2,a=a.y-b/2}this.element.style.left=c+"px";this.element.style.top=a+"px";this.element.style.transform=`translateX(${this.opts.offsetX||0}px) translateY(${this.opts.offsetY||0}px)`;this.opts.zIndex&&(this.element.style.zIndex=this.opts.zIndex.toString())}}}onRemove(){this.element&&this.element.remove()}setOptions(a){this.opts=a;this.draw()}}}let mapEvents="bounds_changed center_changed click dblclick drag dragend dragstart heading_changed idle maptypeid_changed mousemove mouseout mouseover projection_changed resize rightclick tilesloaded tilt_changed zoom_changed".split(" ");
28
- var _sfc_main$3=vue.defineComponent({props:{apiKey:{type:String,default:""},version:{type:String,default:"weekly"},libraries:{type:Array,default:()=>["places"]},region:{type:String,required:!1},language:{type:String,required:!1},backgroundColor:{type:String,required:!1},center:{type:Object,default:()=>({lat:0,lng:0})},clickableIcons:{type:Boolean,required:!1,default:void 0},controlSize:{type:Number,required:!1},disableDefaultUi:{type:Boolean,required:!1,default:void 0},disableDoubleClickZoom:{type:Boolean,
27
+ case "TOP_RIGHT":c=a.x-c;a=a.y;break;case "BOTTOM_LEFT":c=a.x;a=a.y-b;break;case "BOTTOM_RIGHT":c=a.x-c;a=a.y-b;break;default:c=a.x-c/2,a=a.y-b/2}this.element.style.left=c+"px";this.element.style.top=a+"px";this.element.style.transform=`translateX(${this.opts.offsetX||0}px) translateY(${this.opts.offsetY||0}px)`;this.opts.zIndex&&(this.element.style.zIndex=this.opts.zIndex.toString())}}}onRemove(){this.element&&this.element.remove()}setOptions(a){this.opts=a;this.draw()}}}
28
+ let loaderInstance,mapEvents="bounds_changed center_changed click dblclick drag dragend dragstart heading_changed idle maptypeid_changed mousemove mouseout mouseover projection_changed resize rightclick tilesloaded tilt_changed zoom_changed".split(" ");
29
+ var _sfc_main$3=vue.defineComponent({props:{apiPromise:{type:Promise},apiKey:{type:String,default:""},version:{type:String,default:"weekly"},libraries:{type:Array,default:()=>["places"]},region:{type:String,required:!1},language:{type:String,required:!1},backgroundColor:{type:String,required:!1},center:{type:Object,default:()=>({lat:0,lng:0})},clickableIcons:{type:Boolean,required:!1,default:void 0},controlSize:{type:Number,required:!1},disableDefaultUi:{type:Boolean,required:!1,default:void 0},disableDoubleClickZoom:{type:Boolean,
29
30
  required:!1,default:void 0},draggable:{type:Boolean,required:!1,default:void 0},draggableCursor:{type:String,required:!1},draggingCursor:{type:String,required:!1},fullscreenControl:{type:Boolean,required:!1,default:void 0},fullscreenControlPosition:{type:String,required:!1},gestureHandling:{type:String,required:!1},heading:{type:Number,required:!1},keyboardShortcuts:{type:Boolean,required:!1,default:void 0},mapTypeControl:{type:Boolean,required:!1,default:void 0},mapTypeControlOptions:{type:Object,
30
31
  required:!1},mapTypeId:{type:[Number,String],required:!1},mapId:{type:String,required:!1},maxZoom:{type:Number,required:!1},minZoom:{type:Number,required:!1},noClear:{type:Boolean,required:!1,default:void 0},panControl:{type:Boolean,required:!1,default:void 0},panControlPosition:{type:String,required:!1},restriction:{type:Object,required:!1},rotateControl:{type:Boolean,required:!1,default:void 0},rotateControlPosition:{type:String,required:!1},scaleControl:{type:Boolean,required:!1,default:void 0},
31
32
  scaleControlStyle:{type:Number,required:!1},scrollwheel:{type:Boolean,required:!1,default:void 0},streetView:{type:Object,required:!1},streetViewControl:{type:Boolean,required:!1,default:void 0},streetViewControlPosition:{type:String,required:!1},styles:{type:Array,required:!1},tilt:{type:Number,required:!1},zoom:{type:Number,required:!1},zoomControl:{type:Boolean,required:!1,default:void 0},zoomControlPosition:{type:String,required:!1}},emits:mapEvents,setup(a,{emit:b}){let c=vue.ref(),d=vue.ref(!1),
32
33
  e=vue.ref(),g=vue.ref(),f=vue.ref(!1);vue.provide(mapSymbol,e);vue.provide(apiSymbol,g);vue.provide(mapTilesLoadedSymbol,f);let k=()=>{const b={...a};Object.keys(b).forEach(a=>{void 0===b[a]&&delete b[a]});var c=a=>{var b;return a?{position:null===(b=g.value)||void 0===b?void 0:b.ControlPosition[a]}:{}};c={scaleControlOptions:a.scaleControlStyle?{style:a.scaleControlStyle}:{},panControlOptions:c(a.panControlPosition),zoomControlOptions:c(a.zoomControlPosition),rotateControlOptions:c(a.rotateControlPosition),
33
- streetViewControlOptions:c(a.streetViewControlPosition),fullscreenControlOptions:c(a.fullscreenControlPosition),disableDefaultUI:a.disableDefaultUi};return{...b,...c}},l=vue.watch([g,e],([a,b])=>{a&&b&&(a.event.addListenerOnce(b,"tilesloaded",()=>{f.value=!0}),setTimeout(l,0))},{immediate:!0}),h=()=>{try{const {apiKey:b,region:c,version:d,language:e,libraries:f}=a;loaderInstance.value=new Loader({apiKey:b,region:c,version:d,language:e,libraries:f})}catch(m){console.error(m)}};vue.onMounted(()=>{h();
34
- loaderInstance.value.load().then(()=>{g.value=vue.markRaw(google.maps);e.value=vue.markRaw(new google.maps.Map(c.value,k()));var f=createCustomMarkerClass(g.value);g.value[customMarkerClassSymbol]=f;mapEvents.forEach(a=>{var c;null===(c=e.value)||void 0===c?void 0:c.addListener(a,c=>b(a,c))});d.value=!0;f=Object.keys(a).filter(a=>!["center","zoom"].includes(a)).map(b=>vue.toRef(a,b));vue.watch([()=>a.center,()=>a.zoom,...f],([a,b],[c,d])=>{var f,g,h;let {center:m,zoom:l,...n}=k();null===(f=e.value)||
35
- void 0===f?void 0:f.setOptions(n);void 0!==b&&b!==d&&(null===(g=e.value)||void 0===g?void 0:g.setZoom(b));b=!c||a.lng!==c.lng||a.lat!==c.lat;a&&b&&(null===(h=e.value)||void 0===h?void 0:h.panTo(a))})})});vue.onBeforeUnmount(()=>{var a;f.value=!1;e.value&&(null===(a=g.value)||void 0===a?void 0:a.event.clearInstanceListeners(e.value))});return{mapRef:c,ready:d,map:e,api:g,mapTilesLoaded:f}}});
34
+ streetViewControlOptions:c(a.streetViewControlPosition),fullscreenControlOptions:c(a.fullscreenControlPosition),disableDefaultUI:a.disableDefaultUi};return{...b,...c}},l=vue.watch([g,e],([a,b])=>{a&&b&&(a.event.addListenerOnce(b,"tilesloaded",()=>{f.value=!0}),setTimeout(l,0))},{immediate:!0}),h=f=>{g.value=vue.markRaw(f.maps);e.value=vue.markRaw(new f.maps.Map(c.value,k()));f=createCustomMarkerClass(g.value);g.value[customMarkerClassSymbol]=f;mapEvents.forEach(a=>{var c;null===(c=e.value)||void 0===
35
+ c?void 0:c.addListener(a,c=>b(a,c))});d.value=!0;f=Object.keys(a).filter(a=>!"apiPromise apiKey version libraries region language center zoom".split(" ").includes(a)).map(b=>vue.toRef(a,b));vue.watch([()=>a.center,()=>a.zoom,...f],([a,b],[c,d])=>{var f,g,h;const {center:m,zoom:l,...n}=k();null===(f=e.value)||void 0===f?void 0:f.setOptions(n);void 0!==b&&b!==d&&(null===(g=e.value)||void 0===g?void 0:g.setZoom(b));b=!c||a.lng!==c.lng||a.lat!==c.lat;a&&b&&(null===(h=e.value)||void 0===h?void 0:h.panTo(a))})};
36
+ vue.onMounted(()=>{if(a.apiPromise&&a.apiPromise instanceof Promise)a.apiPromise.then(h);else{try{const {apiKey:b,region:c,version:d,language:e,libraries:f}=a;loaderInstance=new Loader({apiKey:b,region:c,version:d,language:e,libraries:f})}catch(m){console.error(m)}loaderInstance.load().then(h)}});vue.onBeforeUnmount(()=>{var a;f.value=!1;e.value&&(null===(a=g.value)||void 0===a?void 0:a.event.clearInstanceListeners(e.value))});return{mapRef:c,ready:d,map:e,api:g,mapTilesLoaded:f}}});
36
37
  function styleInject(a,b){void 0===b&&(b={});b=b.insertAt;if(a&&"undefined"!==typeof document){var c=document.head||document.getElementsByTagName("head")[0],d=document.createElement("style");d.type="text/css";"top"===b?c.firstChild?c.insertBefore(d,c.firstChild):c.appendChild(d):c.appendChild(d);d.styleSheet?d.styleSheet.cssText=a:d.appendChild(document.createTextNode(a))}}var css_248z$2="\n.mapdiv[data-v-177d06e3] {\n width: 100%;\n height: 100%;\n}\n";styleInject(css_248z$2);let _withId$2=vue.withScopeId("data-v-177d06e3");
37
38
  vue.pushScopeId("data-v-177d06e3");let _hoisted_1$2={ref:"mapRef",class:"mapdiv"};vue.popScopeId();let _sfc_render$3=_withId$2((a,b,c,d,e,g)=>(vue.openBlock(),vue.createBlock("div",null,[vue.createVNode("div",_hoisted_1$2,null,512),vue.renderSlot(a.$slots,"default",{ready:a.ready,map:a.map,api:a.api,mapTilesLoaded:a.mapTilesLoaded},void 0,!0)])));_sfc_main$3.render=_sfc_render$3;_sfc_main$3.__scopeId="data-v-177d06e3";
38
39
  let isMarkerCtorKey=a=>"Marker"===a,isCustomMarkerCtorKey=a=>a===customMarkerClassSymbol,useSetupMapComponent=(a,b,c,d)=>{const e=vue.ref(),g=vue.inject(mapSymbol,vue.ref()),f=vue.inject(apiSymbol,vue.ref()),k=vue.inject(markerClusterSymbol,vue.ref()),l=vue.computed(()=>!!(k.value&&f.value&&(e.value instanceof f.value.Marker||e.value instanceof f.value[customMarkerClassSymbol])));vue.watch([g,c],(h,[m,n])=>{var q,r,p;h=JSON.stringify(c.value)!==JSON.stringify(n)||g.value!==m;g.value&&f.value&&h&&
@@ -87,5 +88,5 @@ this.clusters.forEach(c=>{1===c.markers.length?c.marker=c.markers[0]:(c.marker=t
87
88
  var MarkerCluster=vue.defineComponent({name:"MarkerCluster",props:{options:{type:Object,default:()=>({})}},emits:markerClusterEvents,setup(a,{emit:b,expose:c,slots:d}){let e=vue.ref(),g=vue.inject(mapSymbol,vue.ref()),f=vue.inject(apiSymbol,vue.ref());vue.provide(markerClusterSymbol,e);vue.watch(g,()=>{g.value&&(e.value=vue.markRaw(new MarkerClusterer({map:g.value,...a.options})),markerClusterEvents.forEach(a=>{var c;null===(c=e.value)||void 0===c?void 0:c.addListener(a,c=>b(a,c))}))},{immediate:!0});
88
89
  vue.onBeforeUnmount(()=>{var a;e.value&&(null===(a=f.value)||void 0===a?void 0:a.event.clearInstanceListeners(e.value),e.value.clearMarkers(),e.value.setMap(null))});c({markerCluster:e});return()=>{var a;return null===(a=d.default)||void 0===a?void 0:a.call(d)}}}),_sfc_main=vue.defineComponent({props:{options:{type:Object,required:!0}},setup(a,{slots:b,emit:c}){let d=vue.ref(),e=vue.ref(),g=vue.computed(()=>{var a;return null===(a=b.default)||void 0===a?void 0:a.call(b).some(a=>a.type!==vue.Comment)}),
89
90
  f=vue.computed(()=>({...a.options,element:d.value}));vue.onMounted(()=>{e=useSetupMapComponent(customMarkerClassSymbol,[],f,c)});return{customMarkerRef:d,customMarker:e,hasSlotContent:g}}}),css_248z="\n.custom-marker-content[data-v-b9d5ec8a] {\n display: none;\n}\n.mapdiv .custom-marker-content[data-v-b9d5ec8a] {\n display: inline-block;\n}\n";styleInject(css_248z);
90
- let _withId=vue.withScopeId("data-v-b9d5ec8a"),_sfc_render=_withId((a,b,c,d,e,g)=>a.hasSlotContent?(vue.openBlock(),vue.createBlock("div",{key:0,ref:"customMarkerRef",class:"custom-marker-content",style:{cursor:a.$attrs.onClick?"pointer":void 0}},[vue.renderSlot(a.$slots,"default",{},void 0,!0),vue.renderSlot(a.$slots,"info-windows",{},void 0,!0)],4)):vue.createCommentVNode("v-if",!0));_sfc_main.render=_sfc_render;_sfc_main.__scopeId="data-v-b9d5ec8a";exports.Circle=Circle;exports.CustomControl=_sfc_main$2;
91
- exports.CustomMarker=_sfc_main;exports.GoogleMap=_sfc_main$3;exports.InfoWindow=_sfc_main$1;exports.Marker=Marker;exports.MarkerCluster=MarkerCluster;exports.Polygon=Polygon;exports.Polyline=Polyline;exports.Rectangle=Rectangle
91
+ let _withId=vue.withScopeId("data-v-b9d5ec8a"),_sfc_render=_withId((a,b,c,d,e,g)=>a.hasSlotContent?(vue.openBlock(),vue.createBlock("div",{key:0,ref:"customMarkerRef",class:"custom-marker-content",style:{cursor:a.$attrs.onClick?"pointer":void 0}},[vue.renderSlot(a.$slots,"default",{},void 0,!0)],4)):vue.createCommentVNode("v-if",!0));_sfc_main.render=_sfc_render;_sfc_main.__scopeId="data-v-b9d5ec8a";exports.Circle=Circle;exports.CustomControl=_sfc_main$2;exports.CustomMarker=_sfc_main;
92
+ exports.GoogleMap=_sfc_main$3;exports.InfoWindow=_sfc_main$1;exports.Marker=Marker;exports.MarkerCluster=MarkerCluster;exports.Polygon=Polygon;exports.Polyline=Polyline;exports.Rectangle=Rectangle
package/dist/es/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{ref,defineComponent,provide,watch,onMounted,markRaw,toRef,onBeforeUnmount,pushScopeId,popScopeId,openBlock,createBlock,createVNode,renderSlot,withScopeId,inject,computed,Fragment,createCommentVNode,withDirectives,vShow,Comment}from'vue';/*
1
+ import{defineComponent,ref,provide,watch,onMounted,onBeforeUnmount,markRaw,toRef,pushScopeId,popScopeId,openBlock,createBlock,createVNode,renderSlot,withScopeId,inject,computed,Fragment,createCommentVNode,withDirectives,vShow,Comment}from'vue';/*
2
2
  *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -13,33 +13,33 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
15
  *****************************************************************************/
16
- let t=Symbol("map"),u=Symbol("api"),w=Symbol("marker"),x=Symbol("markerCluster"),y=Symbol("CustomMarker"),z=Symbol("mapTilesLoaded"),A=ref(null),B="click dblclick drag dragend dragstart mousedown mousemove mouseout mouseover mouseup rightclick".split(" ");
17
- var aa=function C(a,b){if(a===b)return!0;if(a&&b&&"object"==typeof a&&"object"==typeof b){if(a.constructor!==b.constructor)return!1;var d;if(Array.isArray(a)){var e=a.length;if(e!=b.length)return!1;for(d=e;0!==d--;)if(!C(a[d],b[d]))return!1;return!0}if(a.constructor===RegExp)return a.source===b.source&&a.flags===b.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===b.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===b.toString();var g=Object.keys(a);e=g.length;
18
- if(e!==Object.keys(b).length)return!1;for(d=e;0!==d--;)if(!Object.prototype.hasOwnProperty.call(b,g[d]))return!1;for(d=e;0!==d--;)if(e=g[d],!C(a[e],b[e]))return!1;return!0}return a!==a&&b!==b};
19
- class D{constructor({apiKey:a,channel:b,client:c,id:d="__googleMapsScriptId",libraries:e=[],language:g,region:f,version:l,mapIds:k,nonce:h,retries:m=3,url:n="https://maps.googleapis.com/maps/api/js"}){this.CALLBACK="__googleMapsCallback";this.callbacks=[];this.loading=this.done=!1;this.errors=[];this.version=l;this.apiKey=a;this.channel=b;this.client=c;this.id=d||"__googleMapsScriptId";this.libraries=e;this.language=g;this.region=f;this.mapIds=k;this.nonce=h;this.retries=m;this.url=n;if(D.instance){if(!aa(this.options,
20
- D.instance.options))throw Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(D.instance.options)}`);return D.instance}D.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url}}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+
16
+ let t=Symbol("map"),u=Symbol("api"),w=Symbol("marker"),x=Symbol("markerCluster"),y=Symbol("CustomMarker"),z=Symbol("mapTilesLoaded"),A="click dblclick drag dragend dragstart mousedown mousemove mouseout mouseover mouseup rightclick".split(" ");
17
+ var aa=function B(a,b){if(a===b)return!0;if(a&&b&&"object"==typeof a&&"object"==typeof b){if(a.constructor!==b.constructor)return!1;var d;if(Array.isArray(a)){var e=a.length;if(e!=b.length)return!1;for(d=e;0!==d--;)if(!B(a[d],b[d]))return!1;return!0}if(a.constructor===RegExp)return a.source===b.source&&a.flags===b.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===b.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===b.toString();var g=Object.keys(a);e=g.length;
18
+ if(e!==Object.keys(b).length)return!1;for(d=e;0!==d--;)if(!Object.prototype.hasOwnProperty.call(b,g[d]))return!1;for(d=e;0!==d--;)if(e=g[d],!B(a[e],b[e]))return!1;return!0}return a!==a&&b!==b};
19
+ class C{constructor({apiKey:a,channel:b,client:c,id:d="__googleMapsScriptId",libraries:e=[],language:g,region:f,version:l,mapIds:k,nonce:h,retries:m=3,url:n="https://maps.googleapis.com/maps/api/js"}){this.CALLBACK="__googleMapsCallback";this.callbacks=[];this.loading=this.done=!1;this.errors=[];this.version=l;this.apiKey=a;this.channel=b;this.client=c;this.id=d||"__googleMapsScriptId";this.libraries=e;this.language=g;this.region=f;this.mapIds=k;this.nonce=h;this.retries=m;this.url=n;if(C.instance){if(!aa(this.options,
20
+ C.instance.options))throw Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(C.instance.options)}`);return C.instance}C.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url}}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+
21
21
  1}createUrl(){let a=this.url;a+=`?callback=${this.CALLBACK}`;this.apiKey&&(a+=`&key=${this.apiKey}`);this.channel&&(a+=`&channel=${this.channel}`);this.client&&(a+=`&client=${this.client}`);0<this.libraries.length&&(a+=`&libraries=${this.libraries.join(",")}`);this.language&&(a+=`&language=${this.language}`);this.region&&(a+=`&region=${this.region}`);this.version&&(a+=`&v=${this.version}`);this.mapIds&&(a+=`&map_ids=${this.mapIds.join(",")}`);return a}deleteScript(){let a=document.getElementById(this.id);
22
22
  a&&a.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((a,b)=>{this.loadCallback(c=>{c?b(c.error):a(window.google)})})}loadCallback(a){this.callbacks.push(a);this.execute()}setScript(){if(document.getElementById(this.id))this.callback();else{var a=this.createUrl(),b=document.createElement("script");b.id=this.id;b.type="text/javascript";b.src=a;b.onerror=this.loadErrorCallback.bind(this);b.defer=!0;b.async=!0;this.nonce&&(b.nonce=this.nonce);document.head.appendChild(b)}}reset(){this.deleteScript();
23
23
  this.loading=this.done=!1;this.errors=[];this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(a){this.errors.push(a);this.errors.length<=this.retries?(a=this.errors.length*Math.pow(2,this.errors.length),console.log(`Failed to load Google Maps script, retrying in ${a} ms.`),setTimeout(()=>{this.deleteScript();this.setScript()},a)):(this.onerrorEvent=a,this.callback())}setCallback(){window.__googleMapsCallback=this.callback.bind(this)}callback(){this.done=!0;this.loading=
24
24
  !1;this.callbacks.forEach(a=>{a(this.onerrorEvent)});this.callbacks=[]}execute(){this.resetIfRetryingFailed();this.done?this.callback():window.google&&window.google.maps&&window.google.maps.version?(console.warn("Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match."),this.callback()):this.loading||(this.loading=!0,this.setCallback(),this.setScript())}}
25
25
  function ba(a){return class extends a.OverlayView{constructor(a){super();let {element:b,...d}=a;this.element=b;this.opts=d;this.opts.map&&this.setMap(this.opts.map)}getPosition(){return this.opts.position?this.opts.position instanceof a.LatLng?this.opts.position:new a.LatLng(this.opts.position):null}getVisible(){if(!this.element)return!1;let a=this.element;return"none"!==a.style.display&&"hidden"!==a.style.visibility&&(""===a.style.opacity||.01<Number(a.style.opacity))}onAdd(){if(this.element){var a=
26
26
  this.getPanes();a&&a.overlayMouseTarget.appendChild(this.element)}}draw(){if(this.element){var a=this.getProjection().fromLatLngToDivPixel(this.getPosition());if(a){this.element.style.position="absolute";let b=this.element.offsetHeight;var c=this.element.offsetWidth;switch(this.opts.anchorPoint){case "TOP_CENTER":c=a.x-c/2;a=a.y;break;case "BOTTOM_CENTER":c=a.x-c/2;a=a.y-b;break;case "LEFT_CENTER":c=a.x;a=a.y-b/2;break;case "RIGHT_CENTER":c=a.x-c;a=a.y-b/2;break;case "TOP_LEFT":c=a.x;a=a.y;break;
27
- case "TOP_RIGHT":c=a.x-c;a=a.y;break;case "BOTTOM_LEFT":c=a.x;a=a.y-b;break;case "BOTTOM_RIGHT":c=a.x-c;a=a.y-b;break;default:c=a.x-c/2,a=a.y-b/2}this.element.style.left=c+"px";this.element.style.top=a+"px";this.element.style.transform=`translateX(${this.opts.offsetX||0}px) translateY(${this.opts.offsetY||0}px)`;this.opts.zIndex&&(this.element.style.zIndex=this.opts.zIndex.toString())}}}onRemove(){this.element&&this.element.remove()}setOptions(a){this.opts=a;this.draw()}}}let E="bounds_changed center_changed click dblclick drag dragend dragstart heading_changed idle maptypeid_changed mousemove mouseout mouseover projection_changed resize rightclick tilesloaded tilt_changed zoom_changed".split(" ");
28
- var F=defineComponent({props:{apiKey:{type:String,default:""},version:{type:String,default:"weekly"},libraries:{type:Array,default:()=>["places"]},region:{type:String,required:!1},language:{type:String,required:!1},backgroundColor:{type:String,required:!1},center:{type:Object,default:()=>({lat:0,lng:0})},clickableIcons:{type:Boolean,required:!1,default:void 0},controlSize:{type:Number,required:!1},disableDefaultUi:{type:Boolean,required:!1,default:void 0},disableDoubleClickZoom:{type:Boolean,required:!1,
29
- default:void 0},draggable:{type:Boolean,required:!1,default:void 0},draggableCursor:{type:String,required:!1},draggingCursor:{type:String,required:!1},fullscreenControl:{type:Boolean,required:!1,default:void 0},fullscreenControlPosition:{type:String,required:!1},gestureHandling:{type:String,required:!1},heading:{type:Number,required:!1},keyboardShortcuts:{type:Boolean,required:!1,default:void 0},mapTypeControl:{type:Boolean,required:!1,default:void 0},mapTypeControlOptions:{type:Object,required:!1},
30
- mapTypeId:{type:[Number,String],required:!1},mapId:{type:String,required:!1},maxZoom:{type:Number,required:!1},minZoom:{type:Number,required:!1},noClear:{type:Boolean,required:!1,default:void 0},panControl:{type:Boolean,required:!1,default:void 0},panControlPosition:{type:String,required:!1},restriction:{type:Object,required:!1},rotateControl:{type:Boolean,required:!1,default:void 0},rotateControlPosition:{type:String,required:!1},scaleControl:{type:Boolean,required:!1,default:void 0},scaleControlStyle:{type:Number,
31
- required:!1},scrollwheel:{type:Boolean,required:!1,default:void 0},streetView:{type:Object,required:!1},streetViewControl:{type:Boolean,required:!1,default:void 0},streetViewControlPosition:{type:String,required:!1},styles:{type:Array,required:!1},tilt:{type:Number,required:!1},zoom:{type:Number,required:!1},zoomControl:{type:Boolean,required:!1,default:void 0},zoomControlPosition:{type:String,required:!1}},emits:E,setup(a,{emit:b}){let c=ref(),d=ref(!1),e=ref(),g=ref(),f=ref(!1);provide(t,e);provide(u,
32
- g);provide(z,f);let l=()=>{const b={...a};Object.keys(b).forEach(a=>{void 0===b[a]&&delete b[a]});var c=a=>{var b;return a?{position:null===(b=g.value)||void 0===b?void 0:b.ControlPosition[a]}:{}};c={scaleControlOptions:a.scaleControlStyle?{style:a.scaleControlStyle}:{},panControlOptions:c(a.panControlPosition),zoomControlOptions:c(a.zoomControlPosition),rotateControlOptions:c(a.rotateControlPosition),streetViewControlOptions:c(a.streetViewControlPosition),fullscreenControlOptions:c(a.fullscreenControlPosition),
33
- disableDefaultUI:a.disableDefaultUi};return{...b,...c}},k=watch([g,e],([a,b])=>{a&&b&&(a.event.addListenerOnce(b,"tilesloaded",()=>{f.value=!0}),setTimeout(k,0))},{immediate:!0}),h=()=>{try{const {apiKey:b,region:c,version:d,language:e,libraries:f}=a;A.value=new D({apiKey:b,region:c,version:d,language:e,libraries:f})}catch(m){console.error(m)}};onMounted(()=>{h();A.value.load().then(()=>{g.value=markRaw(google.maps);e.value=markRaw(new google.maps.Map(c.value,l()));var f=ba(g.value);g.value[y]=f;
34
- E.forEach(a=>{var c;null===(c=e.value)||void 0===c?void 0:c.addListener(a,c=>b(a,c))});d.value=!0;f=Object.keys(a).filter(a=>!["center","zoom"].includes(a)).map(b=>toRef(a,b));watch([()=>a.center,()=>a.zoom,...f],([a,b],[c,d])=>{var f,g,m;let {center:h,zoom:k,...n}=l();null===(f=e.value)||void 0===f?void 0:f.setOptions(n);void 0!==b&&b!==d&&(null===(g=e.value)||void 0===g?void 0:g.setZoom(b));b=!c||a.lng!==c.lng||a.lat!==c.lat;a&&b&&(null===(m=e.value)||void 0===m?void 0:m.panTo(a))})})});onBeforeUnmount(()=>
35
- {var a;f.value=!1;e.value&&(null===(a=g.value)||void 0===a?void 0:a.event.clearInstanceListeners(e.value))});return{mapRef:c,ready:d,map:e,api:g,mapTilesLoaded:f}}});
27
+ case "TOP_RIGHT":c=a.x-c;a=a.y;break;case "BOTTOM_LEFT":c=a.x;a=a.y-b;break;case "BOTTOM_RIGHT":c=a.x-c;a=a.y-b;break;default:c=a.x-c/2,a=a.y-b/2}this.element.style.left=c+"px";this.element.style.top=a+"px";this.element.style.transform=`translateX(${this.opts.offsetX||0}px) translateY(${this.opts.offsetY||0}px)`;this.opts.zIndex&&(this.element.style.zIndex=this.opts.zIndex.toString())}}}onRemove(){this.element&&this.element.remove()}setOptions(a){this.opts=a;this.draw()}}}let D,E="bounds_changed center_changed click dblclick drag dragend dragstart heading_changed idle maptypeid_changed mousemove mouseout mouseover projection_changed resize rightclick tilesloaded tilt_changed zoom_changed".split(" ");
28
+ var F=defineComponent({props:{apiPromise:{type:Promise},apiKey:{type:String,default:""},version:{type:String,default:"weekly"},libraries:{type:Array,default:()=>["places"]},region:{type:String,required:!1},language:{type:String,required:!1},backgroundColor:{type:String,required:!1},center:{type:Object,default:()=>({lat:0,lng:0})},clickableIcons:{type:Boolean,required:!1,default:void 0},controlSize:{type:Number,required:!1},disableDefaultUi:{type:Boolean,required:!1,default:void 0},disableDoubleClickZoom:{type:Boolean,
29
+ required:!1,default:void 0},draggable:{type:Boolean,required:!1,default:void 0},draggableCursor:{type:String,required:!1},draggingCursor:{type:String,required:!1},fullscreenControl:{type:Boolean,required:!1,default:void 0},fullscreenControlPosition:{type:String,required:!1},gestureHandling:{type:String,required:!1},heading:{type:Number,required:!1},keyboardShortcuts:{type:Boolean,required:!1,default:void 0},mapTypeControl:{type:Boolean,required:!1,default:void 0},mapTypeControlOptions:{type:Object,
30
+ required:!1},mapTypeId:{type:[Number,String],required:!1},mapId:{type:String,required:!1},maxZoom:{type:Number,required:!1},minZoom:{type:Number,required:!1},noClear:{type:Boolean,required:!1,default:void 0},panControl:{type:Boolean,required:!1,default:void 0},panControlPosition:{type:String,required:!1},restriction:{type:Object,required:!1},rotateControl:{type:Boolean,required:!1,default:void 0},rotateControlPosition:{type:String,required:!1},scaleControl:{type:Boolean,required:!1,default:void 0},
31
+ scaleControlStyle:{type:Number,required:!1},scrollwheel:{type:Boolean,required:!1,default:void 0},streetView:{type:Object,required:!1},streetViewControl:{type:Boolean,required:!1,default:void 0},streetViewControlPosition:{type:String,required:!1},styles:{type:Array,required:!1},tilt:{type:Number,required:!1},zoom:{type:Number,required:!1},zoomControl:{type:Boolean,required:!1,default:void 0},zoomControlPosition:{type:String,required:!1}},emits:E,setup(a,{emit:b}){let c=ref(),d=ref(!1),e=ref(),g=ref(),
32
+ f=ref(!1);provide(t,e);provide(u,g);provide(z,f);let l=()=>{const b={...a};Object.keys(b).forEach(a=>{void 0===b[a]&&delete b[a]});var c=a=>{var b;return a?{position:null===(b=g.value)||void 0===b?void 0:b.ControlPosition[a]}:{}};c={scaleControlOptions:a.scaleControlStyle?{style:a.scaleControlStyle}:{},panControlOptions:c(a.panControlPosition),zoomControlOptions:c(a.zoomControlPosition),rotateControlOptions:c(a.rotateControlPosition),streetViewControlOptions:c(a.streetViewControlPosition),fullscreenControlOptions:c(a.fullscreenControlPosition),
33
+ disableDefaultUI:a.disableDefaultUi};return{...b,...c}},k=watch([g,e],([a,b])=>{a&&b&&(a.event.addListenerOnce(b,"tilesloaded",()=>{f.value=!0}),setTimeout(k,0))},{immediate:!0}),h=f=>{g.value=markRaw(f.maps);e.value=markRaw(new f.maps.Map(c.value,l()));f=ba(g.value);g.value[y]=f;E.forEach(a=>{var c;null===(c=e.value)||void 0===c?void 0:c.addListener(a,c=>b(a,c))});d.value=!0;f=Object.keys(a).filter(a=>!"apiPromise apiKey version libraries region language center zoom".split(" ").includes(a)).map(b=>
34
+ toRef(a,b));watch([()=>a.center,()=>a.zoom,...f],([a,b],[c,d])=>{var f,g,m;const {center:h,zoom:k,...n}=l();null===(f=e.value)||void 0===f?void 0:f.setOptions(n);void 0!==b&&b!==d&&(null===(g=e.value)||void 0===g?void 0:g.setZoom(b));b=!c||a.lng!==c.lng||a.lat!==c.lat;a&&b&&(null===(m=e.value)||void 0===m?void 0:m.panTo(a))})};onMounted(()=>{if(a.apiPromise&&a.apiPromise instanceof Promise)a.apiPromise.then(h);else{try{const {apiKey:b,region:c,version:d,language:e,libraries:f}=a;D=new C({apiKey:b,
35
+ region:c,version:d,language:e,libraries:f})}catch(m){console.error(m)}D.load().then(h)}});onBeforeUnmount(()=>{var a;f.value=!1;e.value&&(null===(a=g.value)||void 0===a?void 0:a.event.clearInstanceListeners(e.value))});return{mapRef:c,ready:d,map:e,api:g,mapTilesLoaded:f}}});
36
36
  function G(a,b){void 0===b&&(b={});b=b.insertAt;if(a&&"undefined"!==typeof document){var c=document.head||document.getElementsByTagName("head")[0],d=document.createElement("style");d.type="text/css";"top"===b?c.firstChild?c.insertBefore(d,c.firstChild):c.appendChild(d):c.appendChild(d);d.styleSheet?d.styleSheet.cssText=a:d.appendChild(document.createTextNode(a))}}G("\n.mapdiv[data-v-177d06e3] {\n width: 100%;\n height: 100%;\n}\n");let ca=withScopeId("data-v-177d06e3");pushScopeId("data-v-177d06e3");
37
37
  let da={ref:"mapRef",class:"mapdiv"};popScopeId();let ea=ca(a=>(openBlock(),createBlock("div",null,[createVNode("div",da,null,512),renderSlot(a.$slots,"default",{ready:a.ready,map:a.map,api:a.api,mapTilesLoaded:a.mapTilesLoaded},void 0,!0)])));F.render=ea;F.__scopeId="data-v-177d06e3";
38
38
  let H=(a,b,c,d)=>{const e=ref(),g=inject(t,ref()),f=inject(u,ref()),l=inject(x,ref()),k=computed(()=>!!(l.value&&f.value&&(e.value instanceof f.value.Marker||e.value instanceof f.value[y])));watch([g,c],(h,[m,n])=>{var q,r,p;h=JSON.stringify(c.value)!==JSON.stringify(n)||g.value!==m;g.value&&f.value&&h&&(e.value?(e.value.setOptions(c.value),k.value&&(null===(q=l.value)||void 0===q?void 0:q.removeMarker(e.value),null===(r=l.value)||void 0===r?void 0:r.addMarker(e.value))):(e.value="Marker"===a?markRaw(new f.value[a](c.value)):
39
39
  a===y?markRaw(new f.value[a](c.value)):markRaw(new f.value[a]({...c.value,map:g.value})),k.value?null===(p=l.value)||void 0===p?void 0:p.addMarker(e.value):e.value.setMap(g.value),b.forEach(a=>{var b;null===(b=e.value)||void 0===b?void 0:b.addListener(a,b=>d(a,b))})))},{immediate:!0});onBeforeUnmount(()=>{var a,b;e.value&&(null===(a=f.value)||void 0===a?void 0:a.event.clearInstanceListeners(e.value),k.value?null===(b=l.value)||void 0===b?void 0:b.removeMarker(e.value):e.value.setMap(null))});return e},
40
40
  I="animation_changed click dblclick rightclick dragstart dragend drag mouseover mousedown mouseout mouseup draggable_changed clickable_changed contextmenu cursor_changed flat_changed rightclick zindex_changed icon_changed position_changed shape_changed title_changed visible_changed".split(" ");
41
- var fa=defineComponent({name:"Marker",props:{options:{type:Object,required:!0}},emits:I,setup(a,{emit:b,expose:c,slots:d}){a=toRef(a,"options");b=H("Marker",I,a,b);provide(w,b);c({marker:b});return()=>{var a;return null===(a=d.default)||void 0===a?void 0:a.call(d)}}}),ha=defineComponent({name:"Polyline",props:{options:{type:Object,required:!0}},emits:B,setup(a,{emit:b}){a=toRef(a,"options");return{polyline:H("Polyline",B,a,b)}},render:()=>null}),ia=defineComponent({name:"Polygon",props:{options:{type:Object,
42
- required:!0}},emits:B,setup(a,{emit:b}){a=toRef(a,"options");return{polygon:H("Polygon",B,a,b)}},render:()=>null});let J=B.concat(["bounds_changed"]);var ja=defineComponent({name:"Rectangle",props:{options:{type:Object,required:!0}},emits:J,setup(a,{emit:b}){a=toRef(a,"options");return{rectangle:H("Rectangle",J,a,b)}},render:()=>null});let K=B.concat(["center_changed","radius_changed"]);
41
+ var fa=defineComponent({name:"Marker",props:{options:{type:Object,required:!0}},emits:I,setup(a,{emit:b,expose:c,slots:d}){a=toRef(a,"options");b=H("Marker",I,a,b);provide(w,b);c({marker:b});return()=>{var a;return null===(a=d.default)||void 0===a?void 0:a.call(d)}}}),ha=defineComponent({name:"Polyline",props:{options:{type:Object,required:!0}},emits:A,setup(a,{emit:b}){a=toRef(a,"options");return{polyline:H("Polyline",A,a,b)}},render:()=>null}),ia=defineComponent({name:"Polygon",props:{options:{type:Object,
42
+ required:!0}},emits:A,setup(a,{emit:b}){a=toRef(a,"options");return{polygon:H("Polygon",A,a,b)}},render:()=>null});let J=A.concat(["bounds_changed"]);var ja=defineComponent({name:"Rectangle",props:{options:{type:Object,required:!0}},emits:J,setup(a,{emit:b}){a=toRef(a,"options");return{rectangle:H("Rectangle",J,a,b)}},render:()=>null});let K=A.concat(["center_changed","radius_changed"]);
43
43
  var ka=defineComponent({name:"Circle",props:{options:{type:Object,required:!0}},emits:K,setup(a,{emit:b}){a=toRef(a,"options");return{circle:H("Circle",K,a,b)}},render:()=>null}),L=defineComponent({props:{position:{type:String,required:!0},index:{type:Number,default:1}},emits:["content:loaded"],setup(a,{emit:b}){let c=ref(null),d=inject(t,ref()),e=inject(u,ref()),g=inject(z,ref(!1)),f=ref(!1),l=watch([g,e,c],([c,d,e])=>{d&&c&&e&&(k(a.position),f.value=!0,b("content:loaded"),setTimeout(l,0))},{immediate:!0}),
44
44
  k=a=>{d.value&&e.value&&c.value&&d.value.controls[e.value.ControlPosition[a]].push(c.value)},h=a=>{if(d.value&&e.value){let b=null;a=e.value.ControlPosition[a];d.value.controls[a].forEach((a,d)=>{a===c.value&&(b=d)});null!==b&&d.value.controls[a].removeAt(b)}};onBeforeUnmount(()=>h(a.position));watch(()=>a.position,(a,b)=>{h(b);k(a)});watch(()=>a.index,b=>{b&&c.value&&(c.value.index=a.index)});return{controlRef:c,showContent:f}}});let la={ref:"controlRef"};
45
45
  L.render=function(a){return openBlock(),createBlock(Fragment,null,[createCommentVNode("\n v-show must be used instead of v-if otherwise there\n would be no rendered content pushed to the map controls\n "),withDirectives(createVNode("div",la,[renderSlot(a.$slots,"default")],512),[[vShow,a.showContent]])],2112)};let M="closeclick content_changed domready position_changed visible zindex_changed".split(" ");
@@ -82,5 +82,5 @@ X.CLUSTERING_END,this)}}onAdd(){this.idleListener=this.getMap().addListener("idl
82
82
  a=>{google.maps.event.trigger(this,X.CLUSTER_CLICK,c);this.onClusterClick(a,c,b)}));c.marker.setMap(b)})}}let Ja=Object.values(X);
83
83
  var Ka=defineComponent({name:"MarkerCluster",props:{options:{type:Object,default:()=>({})}},emits:Ja,setup(a,{emit:b,expose:c,slots:d}){let e=ref(),g=inject(t,ref()),f=inject(u,ref());provide(x,e);watch(g,()=>{g.value&&(e.value=markRaw(new Ia({map:g.value,...a.options})),Ja.forEach(a=>{var c;null===(c=e.value)||void 0===c?void 0:c.addListener(a,c=>b(a,c))}))},{immediate:!0});onBeforeUnmount(()=>{var a;e.value&&(null===(a=f.value)||void 0===a?void 0:a.event.clearInstanceListeners(e.value),e.value.clearMarkers(),
84
84
  e.value.setMap(null))});c({markerCluster:e});return()=>{var a;return null===(a=d.default)||void 0===a?void 0:a.call(d)}}}),Z=defineComponent({props:{options:{type:Object,required:!0}},setup(a,{slots:b,emit:c}){let d=ref(),e=ref(),g=computed(()=>{var a;return null===(a=b.default)||void 0===a?void 0:a.call(b).some(a=>a.type!==Comment)}),f=computed(()=>({...a.options,element:d.value}));onMounted(()=>{e=H(y,[],f,c)});return{customMarkerRef:d,customMarker:e,hasSlotContent:g}}});G("\n.custom-marker-content[data-v-b9d5ec8a] {\n display: none;\n}\n.mapdiv .custom-marker-content[data-v-b9d5ec8a] {\n display: inline-block;\n}\n");
85
- let La=withScopeId("data-v-b9d5ec8a")(a=>a.hasSlotContent?(openBlock(),createBlock("div",{key:0,ref:"customMarkerRef",class:"custom-marker-content",style:{cursor:a.$attrs.onClick?"pointer":void 0}},[renderSlot(a.$slots,"default",{},void 0,!0),renderSlot(a.$slots,"info-windows",{},void 0,!0)],4)):createCommentVNode("v-if",!0));Z.render=La;Z.__scopeId="data-v-b9d5ec8a";
85
+ let La=withScopeId("data-v-b9d5ec8a")(a=>a.hasSlotContent?(openBlock(),createBlock("div",{key:0,ref:"customMarkerRef",class:"custom-marker-content",style:{cursor:a.$attrs.onClick?"pointer":void 0}},[renderSlot(a.$slots,"default",{},void 0,!0)],4)):createCommentVNode("v-if",!0));Z.render=La;Z.__scopeId="data-v-b9d5ec8a";
86
86
  export{ka as Circle,L as CustomControl,Z as CustomMarker,F as GoogleMap,N as InfoWindow,fa as Marker,Ka as MarkerCluster,ia as Polygon,ha as Polyline,ja as Rectangle}
@@ -1,6 +1,9 @@
1
1
  /// <reference types="google.maps" />
2
2
  import { PropType } from "vue";
3
3
  declare const _default: import("vue").DefineComponent<{
4
+ apiPromise: {
5
+ type: PropType<Promise<typeof google>>;
6
+ };
4
7
  apiKey: {
5
8
  type: StringConstructor;
6
9
  default: string;
@@ -212,6 +215,7 @@ declare const _default: import("vue").DefineComponent<{
212
215
  streetViewControl: boolean;
213
216
  zoomControl: boolean;
214
217
  } & {
218
+ apiPromise?: Promise<typeof google> | undefined;
215
219
  region?: string | undefined;
216
220
  language?: string | undefined;
217
221
  backgroundColor?: string | undefined;
@@ -11,37 +11,4 @@ export declare const customMarkerClassSymbol: "CustomMarker";
11
11
  * was fully loaded (including its tiles) to decide their behavior
12
12
  */
13
13
  export declare const mapTilesLoadedSymbol: InjectionKey<Ref<boolean>>;
14
- export declare const loaderInstance: Ref<{
15
- readonly version: string;
16
- readonly apiKey: string;
17
- readonly channel: string;
18
- readonly client: string;
19
- readonly id: string;
20
- readonly libraries: ("drawing" | "geometry" | "localContext" | "places" | "visualization")[];
21
- readonly language: string;
22
- readonly region: string;
23
- readonly mapIds: string[];
24
- readonly nonce: string | null;
25
- readonly retries: number;
26
- readonly url: string;
27
- readonly options: {
28
- apiKey: string;
29
- channel?: string | undefined;
30
- client?: string | undefined;
31
- version?: string | undefined;
32
- id?: string | undefined;
33
- libraries?: ("drawing" | "geometry" | "localContext" | "places" | "visualization")[] | undefined;
34
- language?: string | undefined;
35
- region?: string | undefined;
36
- mapIds?: string[] | undefined;
37
- url?: string | undefined;
38
- nonce?: string | undefined;
39
- retries?: number | undefined;
40
- };
41
- createUrl: () => string;
42
- deleteScript: () => void;
43
- load: () => Promise<typeof google>;
44
- loadPromise: () => Promise<typeof google>;
45
- loadCallback: (fn: (e: ErrorEvent) => void) => void;
46
- } | null>;
47
14
  export declare const polylineEvents: string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue3-google-map",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",