vue3-google-map 0.27.0 → 0.27.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -5
- package/dist/index.cjs +3481 -4
- package/dist/index.mjs +3444 -2179
- package/dist/index.umd.js +4 -4
- package/dist/themes/index.cjs +816 -1
- package/dist/themes/index.mjs +807 -1293
- package/dist/types/components/AdvancedMarker.vue.d.ts +10 -5
- package/dist/types/components/Circle.d.ts +15 -3
- package/dist/types/components/CustomControl.vue.d.ts +3 -2
- package/dist/types/components/CustomMarker.vue.d.ts +3 -2
- package/dist/types/components/DebouncedMarkerClusterer.d.ts +9 -1
- package/dist/types/components/GoogleMap.vue.d.ts +27 -5
- package/dist/types/components/HeatmapLayer.d.ts +6 -2
- package/dist/types/components/InfoWindow.vue.d.ts +12 -5
- package/dist/types/components/Marker.d.ts +24 -3
- package/dist/types/components/MarkerCluster.d.ts +1 -1
- package/dist/types/components/Polygon.d.ts +12 -2
- package/dist/types/components/Polyline.d.ts +12 -2
- package/dist/types/components/Rectangle.d.ts +14 -3
- package/dist/types/composables/useSetupMapComponent.d.ts +1 -1
- package/dist/types/shared/index.d.ts +1 -1
- package/dist/types/utils/index.d.ts +14 -0
- package/package.json +22 -21
package/dist/index.umd.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
(function(){
|
|
2
|
-
(function(k,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],l):(k=typeof globalThis<"u"?globalThis:k||self,l(k.Vue3GoogleMap={},k.Vue))})(this,function(k,l){"use strict";var pn=Object.defineProperty;var mn=(k,l,M)=>l in k?pn(k,l,{enumerable:!0,configurable:!0,writable:!0,value:M}):k[l]=M;var ee=(k,l,M)=>(mn(k,typeof l!="symbol"?l+"":l,M),M);const M=Symbol("map"),A=Symbol("api"),te=Symbol("marker"),re=Symbol("markerCluster"),W=Symbol("CustomMarker"),ne=Symbol("mapTilesLoaded"),B=["click","dblclick","drag","dragend","dragstart","mousedown","mousemove","mouseout","mouseover","mouseup","rightclick"];function Ye(t,e){t.src=e}const Je=t=>{var e,r,n,o="The Google Maps JavaScript API",s="google",i="importLibrary",c="__ib__",a=document,d=window,p=d[s]||(d[s]={}),u=p.maps||(p.maps={}),m=new Set,h=new URLSearchParams,g=()=>e||(e=new Promise(async(f,y)=>{var v;await(r=a.createElement("script")),h.set("libraries",[...m]+"");for(n in t)h.set(n.replace(/[A-Z]/g,w=>"_"+w[0].toLowerCase()),t[n]);h.set("callback",s+".maps."+c),Ye(r,"https://maps.googleapis.com/maps/api/js?"+h),u[c]=f,r.onerror=()=>e=y(Error(o+" could not load.")),r.nonce=((v=a.querySelector("script[nonce]"))==null?void 0:v.nonce)||"",a.head.append(r)}));u[i]?console.warn(o+" only loads once. Ignoring:",t):u[i]=(f,...y)=>m.add(f)&&g().then(()=>u[i](f,...y))},Qe=t=>`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(t)}) will be ignored.`,et=t=>`The google.maps.importLibrary() function is already defined, and @googlemaps/js-api-loader will use the existing function instead of overwriting it. The options passed to setOptions (${JSON.stringify(t)}) will be ignored.`,tt="No options were set before calling importLibrary. Make sure to configure the loader using setOptions().",rt="There already is a script loading the Google Maps JavaScript API, and no google.maps.importLibrary function is defined. @googlemaps/js-api-loader will proceed to bootstrap the API with the specified options, but the existing script might cause problems using the API. Make sure to remove the script loading the API.",oe=process.env.NODE_ENV!=="production"?t=>{console.warn(`[@googlemaps/js-api-loader] ${t}`)}:()=>{},nt=process.env.NODE_ENV!=="production"?t=>{console.info(`[@googlemaps/js-api-loader] ${t}`)}:()=>{};let se=!1;function ot(t){if(se){oe(Qe(t));return}at(t),se=!0}async function st(t){var e,r;if(se||oe(tt),!((r=(e=window==null?void 0:window.google)==null?void 0:e.maps)!=null&&r.importLibrary))throw new Error("google.maps.importLibrary is not installed.");return await google.maps.importLibrary(t)}function at(t){var r,n;const e=!!((n=(r=window.google)==null?void 0:r.maps)!=null&&n.importLibrary);e?nt(et(t)):process.env.NODE_ENV!=="production"&&document.querySelector('script[src*="maps.googleapis.com/maps/api/js"]')&&oe(rt),e||Je(t)}function it(t){return class extends t.OverlayView{constructor(n){super();ee(this,"element");ee(this,"opts");const{element:o,...s}=n;this.element=o,this.opts=s,this.opts.map&&this.setMap(this.opts.map)}getPosition(){return this.opts.position?this.opts.position instanceof t.LatLng?this.opts.position:new t.LatLng(this.opts.position):null}getVisible(){if(!this.element)return!1;const n=this.element;return n.style.display!=="none"&&n.style.visibility!=="hidden"&&(n.style.opacity===""||Number(n.style.opacity)>.01)}onAdd(){if(!this.element)return;const n=this.getPanes();n&&n.overlayMouseTarget.appendChild(this.element)}draw(){if(!this.element)return;const n=this.getProjection(),o=n==null?void 0:n.fromLatLngToDivPixel(this.getPosition());if(o){this.element.style.position="absolute";let s,i;switch(this.opts.anchorPoint){case"TOP_CENTER":s="-50%",i="-100%";break;case"BOTTOM_CENTER":s="-50%",i="0";break;case"LEFT_CENTER":s="-100%",i="-50%";break;case"RIGHT_CENTER":s="0",i="-50%";break;case"TOP_LEFT":s="-100%",i="-100%";break;case"TOP_RIGHT":s="0",i="-100%";break;case"BOTTOM_LEFT":s="-100%",i="0";break;case"BOTTOM_RIGHT":s="0",i="0";break;default:s="-50%",i="-50%"}const c=o.x+(this.opts.offsetX||0)+"px",a=o.y+(this.opts.offsetY||0)+"px";this.element.style.transform=`translateX(${s}) translateX(${c}) translateY(${i}) translateY(${a})`,this.opts.zIndex&&(this.element.style.zIndex=this.opts.zIndex.toString())}}onRemove(){this.element&&this.element.remove()}setOptions(n){const{element:o,...s}=n;this.element=o,this.opts=s,this.draw()}}}let ye=!1;const ve=["bounds_changed","center_changed","click","contextmenu","dblclick","drag","dragend","dragstart","heading_changed","idle","isfractionalzoomenabled_changed","mapcapabilities_changed","maptypeid_changed","mousemove","mouseout","mouseover","projection_changed","renderingtype_changed","rightclick","tilesloaded","tilt_changed","zoom_changed"],lt=l.defineComponent({props:{apiPromise:{type:Promise},apiKey:{type:String,default:""},version:{type:String,default:"weekly"},libraries:{type:Array,default:()=>["places","marker"]},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},colorScheme:{type:String,required:!1},controlSize:{type:Number,required:!1},disableDefaultUi:{type:Boolean,required:!1,default:void 0},disableDoubleClickZoom:{type:Boolean,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},isFractionalZoomEnabled:{type:Boolean,required:!1,default:void 0},keyboardShortcuts:{type:Boolean,required:!1,default:void 0},mapTypeControl:{type:Boolean,required:!1,default:void 0},mapTypeControlOptions:{type:Object,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},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},cameraControl:{type:Boolean,required:!1,default:void 0},cameraControlPosition:{type:String,required:!1}},emits:ve,setup(t,{emit:e}){const r=l.ref(),n=l.ref(!1),o=l.ref(),s=l.ref(),i=l.ref(!1);l.provide(M,o),l.provide(A,s),l.provide(ne,i);const c=()=>{const u={...t};Object.keys(u).forEach(f=>{u[f]===void 0&&delete u[f]});const h=f=>{var y;return f?{position:(y=s.value)==null?void 0:y.ControlPosition[f]}:{}},g={scaleControlOptions:t.scaleControlStyle?{style:t.scaleControlStyle}:{},panControlOptions:h(t.panControlPosition),zoomControlOptions:h(t.zoomControlPosition),rotateControlOptions:h(t.rotateControlPosition),streetViewControlOptions:h(t.streetViewControlPosition),fullscreenControlOptions:h(t.fullscreenControlPosition),cameraControlOptions:h(t.cameraControlPosition),disableDefaultUI:t.disableDefaultUi};return{...u,...g}},a=l.watch([s,o],([u,m])=>{const h=u,g=m;h&&g&&(h.event.addListenerOnce(g,"tilesloaded",()=>{i.value=!0}),setTimeout(a,0))},{immediate:!0}),d=()=>{const{apiKey:u,region:m,version:h,language:g,libraries:f}=t;ot({key:u,region:m,v:h,language:g,libraries:f})},p=u=>{const m=u?u.maps:google.maps;s.value=l.markRaw(m),o.value=l.markRaw(new m.Map(r.value,c()));const h=it(s.value);s.value[W]=h,ve.forEach(f=>{var y;(y=o.value)==null||y.addListener(f,v=>e(f,v))}),n.value=!0;const g=Object.keys(t).filter(f=>!["apiPromise","apiKey","version","libraries","region","language","center","zoom"].includes(f)).map(f=>l.toRef(t,f));l.watch([()=>t.center,()=>t.zoom,...g],([f,y],[v,w])=>{var C,S,x;const{center:_,zoom:T,...O}=c();(C=o.value)==null||C.setOptions(O),y!==void 0&&y!==w&&((S=o.value)==null||S.setZoom(y));const E=!v||f.lng!==v.lng||f.lat!==v.lat;f&&E&&((x=o.value)==null||x.panTo(f))})};return l.onMounted(()=>{if(t.apiPromise&&t.apiPromise instanceof Promise)t.apiPromise.then(p);else{ye||(d(),ye=!0);const u=t.libraries&&t.libraries.length>0?t.libraries:["maps","marker"];Promise.all(u.map(m=>st(m))).then(()=>p())}}),l.onBeforeUnmount(()=>{var u;i.value=!1,o.value&&((u=s.value)==null||u.event.clearInstanceListeners(o.value))}),{mapRef:r,ready:n,map:o,api:s,mapTilesLoaded:i}}}),hn="",D=(t,e)=>{const r=t.__vccOpts||t;for(const[n,o]of e)r[n]=o;return r},ct={ref:"mapRef",class:"mapdiv"};function ut(t,e,r,n,o,s){return l.openBlock(),l.createElementBlock("div",null,[l.createElementVNode("div",ct,null,512),l.renderSlot(t.$slots,"default",l.normalizeProps(l.guardReactiveProps({ready:t.ready,map:t.map,api:t.api,mapTilesLoaded:t.mapTilesLoaded})),void 0,!0)])}const dt=D(lt,[["render",ut],["__scopeId","data-v-c6aa3e71"]]);function ft(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var pt=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(s=Object.keys(e),n=s.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[o]))return!1;for(o=n;o--!==0;){var i=s[o];if(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r};const V=ft(pt),we=["click","drag","dragend","dragstart","gmp-click"],mt=l.defineComponent({name:"AdvancedMarker",props:{options:{type:Object,required:!0},pinOptions:{type:Object,required:!1}},emits:we,setup(t,{emit:e,expose:r,slots:n}){const o=l.ref(),s=l.computed(()=>{var h;return(h=n.content)==null?void 0:h.call(n).some(g=>g.type!==l.Comment)}),i=l.toRef(t,"options"),c=l.toRef(t,"pinOptions"),a=l.ref(),d=l.inject(M,l.ref()),p=l.inject(A,l.ref()),u=l.inject(re,l.ref()),m=l.computed(()=>!!(u.value&&p.value&&a.value instanceof google.maps.marker.AdvancedMarkerElement));return l.watch([d,i,c,o],async(h,[g,f,y,v])=>{var C,S,x;const w=!V(i.value,f)||!V(c.value,y),_=o.value!==v,T=w||_||d.value!==g;if(!d.value||!p.value||!T||s.value&&!o.value)return;const{AdvancedMarkerElement:O,PinElement:E}=p.value.marker;if(a.value){const{map:he,content:Q,...ge}=i.value;Object.assign(a.value,{content:s.value?o.value:c.value?new E(c.value).element:Q,...ge}),m.value&&((C=u.value)==null||C.removeMarker(a.value),(S=u.value)==null||S.addMarker(a.value))}else s.value?i.value.content=o.value:c.value&&(i.value.content=new E(c.value).element),a.value=l.markRaw(new O(i.value)),m.value?(x=u.value)==null||x.addMarker(a.value):a.value.map=d.value,we.forEach(he=>{var Q;(Q=a.value)==null||Q.addListener(he,ge=>e(he,ge))})},{immediate:!0,flush:"post"}),l.onBeforeUnmount(()=>{var h,g;a.value&&((h=p.value)==null||h.event.clearInstanceListeners(a.value),m.value?(g=u.value)==null||g.removeMarker(a.value):a.value.map=null)}),l.provide(te,a),r({marker:a}),{hasCustomSlotContent:s,markerRef:o}}}),gn="",ht={key:0,class:"advanced-marker-wrapper"};function gt(t,e,r,n,o,s){return l.openBlock(),l.createElementBlock(l.Fragment,null,[t.hasCustomSlotContent?(l.openBlock(),l.createElementBlock("div",ht,[l.createElementVNode("div",l.mergeProps({ref:"markerRef"},t.$attrs),[l.renderSlot(t.$slots,"content")],16)])):l.createCommentVNode("v-if",!0),l.renderSlot(t.$slots,"default")],64)}const yt=D(mt,[["render",gt]]),Ee=t=>t==="Marker",ke=t=>t===W,$=(t,e,r,n)=>{const o=l.ref(),s=l.inject(M,l.ref()),i=l.inject(A,l.ref()),c=l.inject(re,l.ref()),a=l.computed(()=>!!(c.value&&i.value&&(o.value instanceof i.value.Marker||o.value instanceof i.value[W])));return l.watch([s,r],(d,[p,u])=>{var h,g,f;const m=!V(r.value,u)||s.value!==p;if(!(!s.value||!i.value||!m))if(o.value)o.value.setOptions(r.value),a.value&&((h=c.value)==null||h.removeMarker(o.value),(g=c.value)==null||g.addMarker(o.value));else{if(Ee(t))o.value=l.markRaw(new i.value[t](r.value));else if(ke(t)){const y=r.value;y.element&&(o.value=l.markRaw(new i.value[t](y)))}else o.value=l.markRaw(new i.value[t]({...r.value,map:s.value}));o.value&&(a.value?(f=c.value)==null||f.addMarker(o.value):(Ee(t)||ke(t))&&o.value.setMap(s.value)),e.forEach(y=>{var v;(v=o.value)==null||v.addListener(y,w=>n(y,w))})}},{immediate:!0,flush:"post"}),l.onBeforeUnmount(()=>{var d,p;o.value&&((d=i.value)==null||d.event.clearInstanceListeners(o.value),a.value?(p=c.value)==null||p.removeMarker(o.value):o.value.setMap(null))}),o},_e=["animation_changed","click","dblclick","rightclick","dragstart","dragend","drag","mouseover","mousedown","mouseout","mouseup","draggable_changed","clickable_changed","contextmenu","cursor_changed","flat_changed","zindex_changed","icon_changed","position_changed","shape_changed","title_changed","visible_changed"],vt=l.defineComponent({name:"Marker",props:{options:{type:Object,required:!0}},emits:_e,setup(t,{emit:e,expose:r,slots:n}){const o=l.toRef(t,"options"),s=$("Marker",_e,o,e);return l.provide(te,s),r({marker:s}),()=>{var i;return(i=n.default)==null?void 0:i.call(n)}}}),wt=l.defineComponent({name:"Polyline",props:{options:{type:Object,required:!0}},emits:B,setup(t,{emit:e}){const r=l.toRef(t,"options");return{polyline:$("Polyline",B,r,e)}},render:()=>null}),Et=l.defineComponent({name:"Polygon",props:{options:{type:Object,required:!0}},emits:B,setup(t,{emit:e}){const r=l.toRef(t,"options");return{polygon:$("Polygon",B,r,e)}},render:()=>null}),Ce=B.concat(["bounds_changed"]),kt=l.defineComponent({name:"Rectangle",props:{options:{type:Object,required:!0}},emits:Ce,setup(t,{emit:e}){const r=l.toRef(t,"options");return{rectangle:$("Rectangle",Ce,r,e)}},render:()=>null}),be=B.concat(["center_changed","radius_changed"]),_t=l.defineComponent({name:"Circle",props:{options:{type:Object,required:!0}},emits:be,setup(t,{emit:e}){const r=l.toRef(t,"options");return{circle:$("Circle",be,r,e)}},render:()=>null}),Ct=l.defineComponent({props:{position:{type:String,required:!0},index:{type:Number,default:1}},emits:["content:loaded"],setup(t,{emit:e}){const r=l.ref(null),n=l.inject(M,l.ref()),o=l.inject(A,l.ref()),s=l.inject(ne,l.ref(!1)),i=l.watch([s,o,r],([d,p,u])=>{p&&d&&u&&(c(t.position),e("content:loaded"),setTimeout(i,0))},{immediate:!0}),c=d=>{if(n.value&&o.value&&r.value){const p=o.value.ControlPosition[d];r.value.index=t.index,n.value.controls[p].push(r.value)}},a=d=>{if(n.value&&o.value){let p=null;const u=o.value.ControlPosition[d];n.value.controls[u].forEach((m,h)=>{m===r.value&&(p=h)}),p!==null&&n.value.controls[u].removeAt(p)}};return l.onBeforeUnmount(()=>a(t.position)),l.watch(()=>t.position,(d,p)=>{a(p),c(d)}),l.watch(()=>t.index,d=>{r.value&&(r.value.index=d)}),{controlRef:r}}}),yn="",bt={ref:"controlRef",class:"custom-control-wrapper"};function Mt(t,e,r,n,o,s){return l.openBlock(),l.createElementBlock(l.Fragment,null,[l.createCommentVNode(`
|
|
1
|
+
(function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.nonce=document.head.querySelector(`meta[property=csp-nonce]`)?.content,e.appendChild(document.createTextNode(`.mapdiv[data-v-0f97a681]{width:100%;height:100%}.advanced-marker-wrapper{display:none}.mapdiv .advanced-marker-wrapper{display:inline-block}.custom-control-wrapper[data-v-ae91c15f]{display:none}.mapdiv .custom-control-wrapper[data-v-ae91c15f]{display:inline-block}.info-window-wrapper[data-v-48547193]{display:none}.mapdiv .info-window-wrapper[data-v-48547193]{display:inline-block}.custom-marker-wrapper[data-v-90fe8380]{display:none}.mapdiv .custom-marker-wrapper[data-v-90fe8380]{display:inline-block}/*$vite$:1*/`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();
|
|
2
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`vue`)):typeof define==`function`&&define.amd?define([`exports`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.Vue3GoogleMap={},e.Vue))})(this,function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n=Object.create,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),l=(e,t,n,o)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=a(t),l=0,u=c.length,d;l<u;l++)d=c[l],!s.call(e,d)&&d!==n&&r(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(o=i(t,d))||o.enumerable});return e},u=(e,t,i)=>(i=e==null?{}:n(o(e)),l(t||!e||!e.__esModule?r(i,`default`,{value:e,enumerable:!0}):i,e)),d=Symbol(`map`),f=Symbol(`api`),p=Symbol(`marker`),m=Symbol(`markerCluster`),h=Symbol(`CustomMarker`),g=Symbol(`mapTilesLoaded`),_=[`click`,`dblclick`,`drag`,`dragend`,`dragstart`,`mousedown`,`mousemove`,`mouseout`,`mouseover`,`mouseup`,`rightclick`];function v(e,t){e.src=t}var y=e=>{var t,n,r,i=`The Google Maps JavaScript API`,a=`google`,o=`importLibrary`,s=`__ib__`,c=document,l=window,u=l[a]||(l[a]={}),d=u.maps||={},f=new Set,p=new URLSearchParams,m=()=>t||=new Promise(async(o,l)=>{for(r in await(n=c.createElement(`script`)),p.set(`libraries`,[...f]+``),e)p.set(r.replace(/[A-Z]/g,e=>`_`+e[0].toLowerCase()),e[r]);p.set(`callback`,a+`.maps.`+s),v(n,`https://maps.googleapis.com/maps/api/js?`+p),d[s]=o,n.onerror=()=>t=l(Error(i+` could not load.`)),n.nonce=c.querySelector(`script[nonce]`)?.nonce||``,c.head.append(n)});d[o]?console.warn(i+` only loads once. Ignoring:`,e):d[o]=(e,...t)=>f.add(e)&&m().then(()=>d[o](e,...t))},b=e=>`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(e)}) will be ignored.`,x=e=>`The google.maps.importLibrary() function is already defined, and @googlemaps/js-api-loader will use the existing function instead of overwriting it. The options passed to setOptions (${JSON.stringify(e)}) will be ignored.`,ee=`No options were set before calling importLibrary. Make sure to configure the loader using setOptions().`,te=`There already is a script loading the Google Maps JavaScript API, and no google.maps.importLibrary function is defined. @googlemaps/js-api-loader will proceed to bootstrap the API with the specified options, but the existing script might cause problems using the API. Make sure to remove the script loading the API.`,S=e=>{console.warn(`[@googlemaps/js-api-loader] ${e}`)},ne=e=>{console.info(`[@googlemaps/js-api-loader] ${e}`)},C=!1;function re(e){if(C){S(b(e));return}ae(e),C=!0}async function ie(e){if(C||S(ee),!window?.google?.maps?.importLibrary)throw Error(`google.maps.importLibrary is not installed.`);return await google.maps.importLibrary(e)}function ae(e){let t=!!window.google?.maps?.importLibrary;t?ne(x(e)):document.querySelector(`script[src*="maps.googleapis.com/maps/api/js"]`)&&S(te),t||y(e)}function oe(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function w(e){if(Array.isArray(e))return e.map(e=>w(e));if(oe(e)){let t={};for(let n of Object.keys(e))t[n]=w(e[n]);return t}return e}function se(e){return class extends e.OverlayView{element;opts;constructor(e){super();let{element:t,...n}=e;this.element=t,this.opts=n,this.opts.map&&this.setMap(this.opts.map)}getPosition(){return this.opts.position?this.opts.position instanceof e.LatLng?this.opts.position:new e.LatLng(this.opts.position):null}getVisible(){if(!this.element)return!1;let e=this.element;return e.style.display!==`none`&&e.style.visibility!==`hidden`&&(e.style.opacity===``||Number(e.style.opacity)>.01)}onAdd(){if(!this.element)return;let e=this.getPanes();e&&e.overlayMouseTarget.appendChild(this.element)}draw(){if(!this.element)return;let e=this.getProjection()?.fromLatLngToDivPixel(this.getPosition());if(e){this.element.style.position=`absolute`;let t,n;switch(this.opts.anchorPoint){case`TOP_CENTER`:t=`-50%`,n=`-100%`;break;case`BOTTOM_CENTER`:t=`-50%`,n=`0`;break;case`LEFT_CENTER`:t=`-100%`,n=`-50%`;break;case`RIGHT_CENTER`:t=`0`,n=`-50%`;break;case`TOP_LEFT`:t=`-100%`,n=`-100%`;break;case`TOP_RIGHT`:t=`0`,n=`-100%`;break;case`BOTTOM_LEFT`:t=`-100%`,n=`0`;break;case`BOTTOM_RIGHT`:t=`0`,n=`0`;break;default:t=`-50%`,n=`-50%`}let r=e.x+(this.opts.offsetX||0)+`px`,i=e.y+(this.opts.offsetY||0)+`px`;this.element.style.transform=`translateX(${t}) translateX(${r}) translateY(${n}) translateY(${i})`,this.opts.zIndex&&(this.element.style.zIndex=this.opts.zIndex.toString())}}onRemove(){this.element&&this.element.remove()}setOptions(e){let{element:t,...n}=e;this.element=t,this.opts=n,this.draw()}}}var ce=!1,le=[`bounds_changed`,`center_changed`,`click`,`contextmenu`,`dblclick`,`drag`,`dragend`,`dragstart`,`heading_changed`,`idle`,`isfractionalzoomenabled_changed`,`mapcapabilities_changed`,`maptypeid_changed`,`mousemove`,`mouseout`,`mouseover`,`projection_changed`,`renderingtype_changed`,`rightclick`,`tilesloaded`,`tilt_changed`,`zoom_changed`],ue=(0,t.defineComponent)({props:{apiPromise:{type:Promise},apiKey:{type:String,default:``},version:{type:String,default:`weekly`},libraries:{type:Array,default:()=>[`places`,`marker`]},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},colorScheme:{type:String,required:!1},controlSize:{type:Number,required:!1},disableDefaultUi:{type:Boolean,required:!1,default:void 0},disableDoubleClickZoom:{type:Boolean,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},isFractionalZoomEnabled:{type:Boolean,required:!1,default:void 0},keyboardShortcuts:{type:Boolean,required:!1,default:void 0},mapTypeControl:{type:Boolean,required:!1,default:void 0},mapTypeControlOptions:{type:Object,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},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},cameraControl:{type:Boolean,required:!1,default:void 0},cameraControlPosition:{type:String,required:!1}},emits:[...le],setup(e,{emit:n}){let r=(0,t.ref)(),i=(0,t.ref)(!1),a=(0,t.ref)(),o=(0,t.ref)(),s=(0,t.ref)(!1);(0,t.provide)(d,a),(0,t.provide)(f,o),(0,t.provide)(g,s);let c=()=>{let t={...e};Object.keys(t).forEach(e=>{t[e]===void 0&&delete t[e]});let n=e=>e?{position:o.value?.ControlPosition[e]}:{},r={scaleControlOptions:e.scaleControlStyle?{style:e.scaleControlStyle}:{},panControlOptions:n(e.panControlPosition),zoomControlOptions:n(e.zoomControlPosition),rotateControlOptions:n(e.rotateControlPosition),streetViewControlOptions:n(e.streetViewControlPosition),fullscreenControlOptions:n(e.fullscreenControlPosition),cameraControlOptions:n(e.cameraControlPosition),disableDefaultUI:e.disableDefaultUi};return{...t,...r}},l=(0,t.watch)([o,a],([e,t])=>{let n=e,r=t;n&&r&&(n.event.addListenerOnce(r,`tilesloaded`,()=>{s.value=!0}),setTimeout(l,0))},{immediate:!0}),u=()=>{let{apiKey:t,region:n,version:r,language:i,libraries:a}=e;re({key:t,region:n,v:r,language:i,libraries:a})},p=s=>{let l=s?s.maps:google.maps;o.value=(0,t.markRaw)(l),a.value=(0,t.markRaw)(new l.Map(r.value,c()));let u=se(o.value);o.value[h]=u,le.forEach(e=>{a.value?.addListener(e,t=>n(e,t))}),i.value=!0,(0,t.watch)([()=>e.center,()=>e.zoom,...Object.keys(e).filter(e=>![`apiPromise`,`apiKey`,`version`,`libraries`,`region`,`language`,`center`,`zoom`].includes(e)).map(n=>(0,t.toRef)(e,n))],([e,t],[n,r])=>{let{center:i,zoom:o,...s}=c();a.value?.setOptions(s),t!==void 0&&t!==r&&a.value?.setZoom(t);let l=!n||e.lng!==n.lng||e.lat!==n.lat;e&&l&&a.value?.panTo(e)})};return(0,t.onMounted)(()=>{if(e.apiPromise&&e.apiPromise instanceof Promise)e.apiPromise.then(p);else{ce||=(u(),!0);let t=e.libraries&&e.libraries.length>0?e.libraries:[`maps`,`marker`];Promise.all(t.map(e=>ie(e))).then(()=>p())}}),(0,t.onBeforeUnmount)(()=>{s.value=!1,a.value&&o.value?.event.clearInstanceListeners(a.value)}),{mapRef:r,ready:i,map:a,api:o,mapTilesLoaded:s}}}),T=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},de={ref:`mapRef`,class:`mapdiv`};function fe(e,n,r,i,a,o){return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,null,[(0,t.createElementVNode)(`div`,de,null,512),(0,t.renderSlot)(e.$slots,`default`,(0,t.normalizeProps)((0,t.guardReactiveProps)({ready:e.ready,map:e.map,api:e.api,mapTilesLoaded:e.mapTilesLoaded})),void 0,!0)])}var pe=T(ue,[[`render`,fe],[`__scopeId`,`data-v-0f97a681`]]),E=u(c(((e,t)=>{t.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}}))()),me=`click`,he=`gmp-click`,D=[`drag`,`dragend`,`dragstart`,he],ge=(0,t.defineComponent)({name:`AdvancedMarker`,props:{options:{type:Object,required:!0},pinOptions:{type:Object,required:!1}},emits:[...D,me],setup(e,{emit:n,expose:r,slots:i}){let a=(0,t.ref)(),o=(0,t.computed)(()=>i.content?.().some(e=>e.type!==t.Comment)),s=(0,t.toRef)(e,`options`),c=(0,t.toRef)(e,`pinOptions`),l=(0,t.ref)(),u=(0,t.inject)(d,(0,t.ref)()),h=(0,t.inject)(f,(0,t.ref)()),g=(0,t.inject)(m,(0,t.ref)()),_=(0,t.computed)(()=>!!(g.value&&h.value&&l.value instanceof google.maps.marker.AdvancedMarkerElement)),v,y;return(0,t.watch)([u,s,c,a],async(e,[r,,,i])=>{let d=!v||!(0,E.default)(s.value,v)||!(0,E.default)(c.value,y),f=a.value!==i,p=d||f||u.value!==r;if(!u.value||!h.value||!p||o.value&&!a.value)return;let{AdvancedMarkerElement:m,PinElement:b}=h.value.marker;if(l.value){let{map:e,content:t,...n}=s.value;Object.assign(l.value,{content:o.value?a.value:c.value?new b(c.value):t,...n}),_.value&&(g.value?.removeMarker(l.value),g.value?.addMarker(l.value))}else o.value?s.value.content=a.value:c.value&&(s.value.content=new b(c.value)),l.value=(0,t.markRaw)(new m(s.value)),_.value?g.value?.addMarker(l.value):l.value.map=u.value,D.forEach(e=>{l.value?.addListener(e,t=>{n(e,t),e===he&&n(me,t)})});v=w(s.value),y=w(c.value)},{immediate:!0,flush:`post`,deep:!0}),(0,t.onBeforeUnmount)(()=>{l.value&&(h.value?.event.clearInstanceListeners(l.value),_.value?g.value?.removeMarker(l.value):l.value.map=null)}),(0,t.provide)(p,l),r({marker:l}),{hasCustomSlotContent:o,markerRef:a}}}),_e={key:0,class:`advanced-marker-wrapper`};function ve(e,n,r,i,a,o){return(0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[e.hasCustomSlotContent?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,_e,[(0,t.createElementVNode)(`div`,(0,t.mergeProps)({ref:`markerRef`},e.$attrs),[(0,t.renderSlot)(e.$slots,`content`)],16)])):(0,t.createCommentVNode)(`v-if`,!0),(0,t.renderSlot)(e.$slots,`default`)],64)}var ye=T(ge,[[`render`,ve]]),be=e=>e===`Marker`,xe=e=>e===h,O=(e,n,r,i)=>{let a=(0,t.ref)(),o=(0,t.inject)(d,(0,t.ref)()),s=(0,t.inject)(f,(0,t.ref)()),c=(0,t.inject)(m,(0,t.ref)()),l=(0,t.computed)(()=>!!(c.value&&s.value&&(a.value instanceof s.value.Marker||a.value instanceof s.value[h]))),u;return(0,t.watch)([o,r],(d,[f])=>{let p=!u||!(0,E.default)(r.value,u)||o.value!==f;if(!(!o.value||!s.value||!p)){if(a.value)a.value.setOptions(r.value),l.value&&(c.value?.removeMarker(a.value),c.value?.addMarker(a.value));else{if(be(e))a.value=(0,t.markRaw)(new s.value[e](r.value));else if(xe(e)){let n=r.value;n.element&&(a.value=(0,t.markRaw)(new s.value[e](n)))}else a.value=(0,t.markRaw)(new s.value[e]({...r.value,map:o.value}));a.value&&(l.value?c.value?.addMarker(a.value):(be(e)||xe(e))&&a.value.setMap(o.value)),n.forEach(e=>{a.value?.addListener(e,t=>i(e,t))})}u=w(r.value)}},{immediate:!0,flush:`post`,deep:!0}),(0,t.onBeforeUnmount)(()=>{a.value&&(s.value?.event.clearInstanceListeners(a.value),l.value?c.value?.removeMarker(a.value):a.value.setMap(null))}),a},Se=[`animation_changed`,`click`,`dblclick`,`rightclick`,`dragstart`,`dragend`,`drag`,`mouseover`,`mousedown`,`mouseout`,`mouseup`,`draggable_changed`,`clickable_changed`,`contextmenu`,`cursor_changed`,`flat_changed`,`zindex_changed`,`icon_changed`,`position_changed`,`shape_changed`,`title_changed`,`visible_changed`],Ce=(0,t.defineComponent)({name:`Marker`,props:{options:{type:Object,required:!0}},emits:[...Se],setup(e,{emit:n,expose:r,slots:i}){let a=O(`Marker`,Se,(0,t.toRef)(e,`options`),n);return(0,t.provide)(p,a),r({marker:a}),()=>i.default?.()}}),we=(0,t.defineComponent)({name:`Polyline`,props:{options:{type:Object,required:!0}},emits:[..._],setup(e,{emit:n}){return{polyline:O(`Polyline`,_,(0,t.toRef)(e,`options`),n)}},render:()=>null}),Te=(0,t.defineComponent)({name:`Polygon`,props:{options:{type:Object,required:!0}},emits:[..._],setup(e,{emit:n}){return{polygon:O(`Polygon`,_,(0,t.toRef)(e,`options`),n)}},render:()=>null}),Ee=[..._,`bounds_changed`],De=(0,t.defineComponent)({name:`Rectangle`,props:{options:{type:Object,required:!0}},emits:[...Ee],setup(e,{emit:n}){return{rectangle:O(`Rectangle`,Ee,(0,t.toRef)(e,`options`),n)}},render:()=>null}),Oe=[..._,`center_changed`,`radius_changed`],ke=(0,t.defineComponent)({name:`Circle`,props:{options:{type:Object,required:!0}},emits:[...Oe],setup(e,{emit:n}){return{circle:O(`Circle`,Oe,(0,t.toRef)(e,`options`),n)}},render:()=>null}),Ae=(0,t.defineComponent)({props:{position:{type:String,required:!0},index:{type:Number,default:1}},emits:[`content:loaded`],setup(e,{emit:n}){let r=(0,t.ref)(null),i=(0,t.inject)(d,(0,t.ref)()),a=(0,t.inject)(f,(0,t.ref)()),o=(0,t.watch)([(0,t.inject)(g,(0,t.ref)(!1)),a,r],([t,r,i])=>{r&&t&&i&&(s(e.position),n(`content:loaded`),setTimeout(o,0))},{immediate:!0}),s=t=>{if(i.value&&a.value&&r.value){let n=a.value.ControlPosition[t];r.value.index=e.index,i.value.controls[n].push(r.value)}},c=e=>{if(i.value&&a.value){let t=null,n=a.value.ControlPosition[e];i.value.controls[n].forEach((e,n)=>{e===r.value&&(t=n)}),t!==null&&i.value.controls[n].removeAt(t)}};return(0,t.onBeforeUnmount)(()=>c(e.position)),(0,t.watch)(()=>e.position,(e,t)=>{c(t),s(e)}),(0,t.watch)(()=>e.index,e=>{r.value&&(r.value.index=e)}),{controlRef:r}}}),je={ref:`controlRef`,class:`custom-control-wrapper`};function Me(e,n,r,i,a,o){return(0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createCommentVNode)(`
|
|
3
3
|
v-show must be used instead of v-if otherwise there
|
|
4
4
|
would be no rendered content pushed to the map controls
|
|
5
|
-
`),l.createElementVNode("div",bt,[l.renderSlot(t.$slots,"default",{},void 0,!0)],512)],2112)}const Ot=D(Ct,[["render",Mt],["__scopeId","data-v-ae91c15f"]]),Me=["closeclick","content_changed","domready","position_changed","visible","zindex_changed"],St=l.defineComponent({inheritAttrs:!1,props:{options:{type:Object,default:()=>({})},modelValue:{type:Boolean}},emits:[...Me,"update:modelValue"],setup(t,{slots:e,emit:r,expose:n}){const o=l.ref(),s=l.ref(),i=l.inject(M,l.ref()),c=l.inject(A,l.ref()),a=l.inject(te,l.ref());let d,p=t.modelValue;const u=l.computed(()=>{var f;return(f=e.default)==null?void 0:f.call(e).some(y=>y.type!==l.Comment)}),m=f=>{p=f,r("update:modelValue",f)},h=f=>{o.value&&(o.value.open({map:i.value,anchor:a.value,...f}),m(!0))},g=()=>{o.value&&(o.value.close(),m(!1))};return l.onMounted(()=>{l.watch([i,()=>t.options],([f,y],[v,w])=>{var T;const _=!V(y,w)||i.value!==v;i.value&&c.value&&_&&(o.value?(o.value.setOptions({...y,content:u.value?s.value:y.content}),a.value||h()):(o.value=l.markRaw(new c.value.InfoWindow({...y,content:u.value?s.value:y.content})),a.value&&(d=a.value.addListener("click",()=>h())),(!a.value||p)&&h(),Me.forEach(O=>{var E;(E=o.value)==null||E.addListener(O,C=>r(O,C))}),(T=o.value)==null||T.addListener("closeclick",()=>m(!1))))},{immediate:!0,flush:"post"}),l.watch(a,(f,y)=>{!o.value||f===y||(d&&(d.remove(),d=void 0),f&&(d=f.addListener("click",()=>h())))},{flush:"post"}),l.watch(()=>t.modelValue,f=>{f!==p&&(f?h():g())})}),l.onBeforeUnmount(()=>{var f;d&&d.remove(),o.value&&((f=c.value)==null||f.event.clearInstanceListeners(o.value),g())}),n({infoWindow:o,open:h,close:g}),{infoWindow:o,infoWindowRef:s,hasSlotContent:u,open:h,close:g}}}),vn="",Tt={key:0,class:"info-window-wrapper"};function Pt(t,e,r,n,o,s){return t.hasSlotContent?(l.openBlock(),l.createElementBlock("div",Tt,[l.createElementVNode("div",l.mergeProps({ref:"infoWindowRef"},t.$attrs),[l.renderSlot(t.$slots,"default",{},void 0,!0)],16)])):l.createCommentVNode("v-if",!0)}const At=D(St,[["render",Pt],["__scopeId","data-v-5660e752"]]);var qt=Object.getOwnPropertyNames,Lt=Object.getOwnPropertySymbols,jt=Object.prototype.hasOwnProperty;function Oe(t,e){return function(n,o,s){return t(n,o,s)&&e(n,o,s)}}function H(t){return function(r,n,o){if(!r||!n||typeof r!="object"||typeof n!="object")return t(r,n,o);var s=o.cache,i=s.get(r),c=s.get(n);if(i&&c)return i===n&&c===r;s.set(r,n),s.set(n,r);var a=t(r,n,o);return s.delete(r),s.delete(n),a}}function Se(t){return qt(t).concat(Lt(t))}var Rt=Object.hasOwn||function(t,e){return jt.call(t,e)};function I(t,e){return t===e||!t&&!e&&t!==t&&e!==e}var xt="__v",It="__o",Nt="_owner",Te=Object.getOwnPropertyDescriptor,Pe=Object.keys;function Bt(t,e,r){var n=t.length;if(e.length!==n)return!1;for(;n-- >0;)if(!r.equals(t[n],e[n],n,n,t,e,r))return!1;return!0}function $t(t,e){return I(t.getTime(),e.getTime())}function Dt(t,e){return t.name===e.name&&t.message===e.message&&t.cause===e.cause&&t.stack===e.stack}function Vt(t,e){return t===e}function Ae(t,e,r){var n=t.size;if(n!==e.size)return!1;if(!n)return!0;for(var o=new Array(n),s=t.entries(),i,c,a=0;(i=s.next())&&!i.done;){for(var d=e.entries(),p=!1,u=0;(c=d.next())&&!c.done;){if(o[u]){u++;continue}var m=i.value,h=c.value;if(r.equals(m[0],h[0],a,u,t,e,r)&&r.equals(m[1],h[1],m[0],h[0],t,e,r)){p=o[u]=!0;break}u++}if(!p)return!1;a++}return!0}var Ut=I;function Zt(t,e,r){var n=Pe(t),o=n.length;if(Pe(e).length!==o)return!1;for(;o-- >0;)if(!Le(t,e,r,n[o]))return!1;return!0}function U(t,e,r){var n=Se(t),o=n.length;if(Se(e).length!==o)return!1;for(var s,i,c;o-- >0;)if(s=n[o],!Le(t,e,r,s)||(i=Te(t,s),c=Te(e,s),(i||c)&&(!i||!c||i.configurable!==c.configurable||i.enumerable!==c.enumerable||i.writable!==c.writable)))return!1;return!0}function Gt(t,e){return I(t.valueOf(),e.valueOf())}function Ft(t,e){return t.source===e.source&&t.flags===e.flags}function qe(t,e,r){var n=t.size;if(n!==e.size)return!1;if(!n)return!0;for(var o=new Array(n),s=t.values(),i,c;(i=s.next())&&!i.done;){for(var a=e.values(),d=!1,p=0;(c=a.next())&&!c.done;){if(!o[p]&&r.equals(i.value,c.value,i.value,c.value,t,e,r)){d=o[p]=!0;break}p++}if(!d)return!1}return!0}function zt(t,e){var r=t.length;if(e.length!==r)return!1;for(;r-- >0;)if(t[r]!==e[r])return!1;return!0}function Wt(t,e){return t.hostname===e.hostname&&t.pathname===e.pathname&&t.protocol===e.protocol&&t.port===e.port&&t.hash===e.hash&&t.username===e.username&&t.password===e.password}function Le(t,e,r,n){return(n===Nt||n===It||n===xt)&&(t.$$typeof||e.$$typeof)?!0:Rt(e,n)&&r.equals(t[n],e[n],n,n,t,e,r)}var Ht="[object Arguments]",Kt="[object Boolean]",Xt="[object Date]",Yt="[object Error]",Jt="[object Map]",Qt="[object Number]",er="[object Object]",tr="[object RegExp]",rr="[object Set]",nr="[object String]",or="[object URL]",sr=Array.isArray,je=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,Re=Object.assign,ar=Object.prototype.toString.call.bind(Object.prototype.toString);function ir(t){var e=t.areArraysEqual,r=t.areDatesEqual,n=t.areErrorsEqual,o=t.areFunctionsEqual,s=t.areMapsEqual,i=t.areNumbersEqual,c=t.areObjectsEqual,a=t.arePrimitiveWrappersEqual,d=t.areRegExpsEqual,p=t.areSetsEqual,u=t.areTypedArraysEqual,m=t.areUrlsEqual;return function(g,f,y){if(g===f)return!0;if(g==null||f==null)return!1;var v=typeof g;if(v!==typeof f)return!1;if(v!=="object")return v==="number"?i(g,f,y):v==="function"?o(g,f,y):!1;var w=g.constructor;if(w!==f.constructor)return!1;if(w===Object)return c(g,f,y);if(sr(g))return e(g,f,y);if(je!=null&&je(g))return u(g,f,y);if(w===Date)return r(g,f,y);if(w===RegExp)return d(g,f,y);if(w===Map)return s(g,f,y);if(w===Set)return p(g,f,y);var _=ar(g);return _===Xt?r(g,f,y):_===tr?d(g,f,y):_===Jt?s(g,f,y):_===rr?p(g,f,y):_===er?typeof g.then!="function"&&typeof f.then!="function"&&c(g,f,y):_===or?m(g,f,y):_===Yt?n(g,f,y):_===Ht?c(g,f,y):_===Kt||_===Qt||_===nr?a(g,f,y):!1}}function lr(t){var e=t.circular,r=t.createCustomConfig,n=t.strict,o={areArraysEqual:n?U:Bt,areDatesEqual:$t,areErrorsEqual:Dt,areFunctionsEqual:Vt,areMapsEqual:n?Oe(Ae,U):Ae,areNumbersEqual:Ut,areObjectsEqual:n?U:Zt,arePrimitiveWrappersEqual:Gt,areRegExpsEqual:Ft,areSetsEqual:n?Oe(qe,U):qe,areTypedArraysEqual:n?U:zt,areUrlsEqual:Wt};if(r&&(o=Re({},o,r(o))),e){var s=H(o.areArraysEqual),i=H(o.areMapsEqual),c=H(o.areObjectsEqual),a=H(o.areSetsEqual);o=Re({},o,{areArraysEqual:s,areMapsEqual:i,areObjectsEqual:c,areSetsEqual:a})}return o}function cr(t){return function(e,r,n,o,s,i,c){return t(e,r,c)}}function ur(t){var e=t.circular,r=t.comparator,n=t.createState,o=t.equals,s=t.strict;if(n)return function(a,d){var p=n(),u=p.cache,m=u===void 0?e?new WeakMap:void 0:u,h=p.meta;return r(a,d,{cache:m,equals:o,meta:h,strict:s})};if(e)return function(a,d){return r(a,d,{cache:new WeakMap,equals:o,meta:void 0,strict:s})};var i={cache:void 0,equals:o,meta:void 0,strict:s};return function(a,d){return r(a,d,i)}}var K=q();q({strict:!0}),q({circular:!0}),q({circular:!0,strict:!0}),q({createInternalComparator:function(){return I}}),q({strict:!0,createInternalComparator:function(){return I}}),q({circular:!0,createInternalComparator:function(){return I}}),q({circular:!0,createInternalComparator:function(){return I},strict:!0});function q(t){t===void 0&&(t={});var e=t.circular,r=e===void 0?!1:e,n=t.createInternalComparator,o=t.createState,s=t.strict,i=s===void 0?!1:s,c=lr(t),a=ir(c),d=n?n(a):cr(a);return ur({circular:r,comparator:a,createState:o,equals:d,strict:i})}const xe=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],ae=1,Z=8;class ie{static from(e){if(!(e instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[r,n]=new Uint8Array(e,0,2);if(r!==219)throw new Error("Data does not appear to be in a KDBush format.");const o=n>>4;if(o!==ae)throw new Error(`Got v${o} data when expected v${ae}.`);const s=xe[n&15];if(!s)throw new Error("Unrecognized array type.");const[i]=new Uint16Array(e,2,1),[c]=new Uint32Array(e,4,1);return new ie(c,i,s,e)}constructor(e,r=64,n=Float64Array,o){if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+r,2),65535),this.ArrayType=n,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;const s=xe.indexOf(this.ArrayType),i=e*2*this.ArrayType.BYTES_PER_ELEMENT,c=e*this.IndexArrayType.BYTES_PER_ELEMENT,a=(8-c%8)%8;if(s<0)throw new Error(`Unexpected typed array class: ${n}.`);o&&o instanceof ArrayBuffer?(this.data=o,this.ids=new this.IndexArrayType(this.data,Z,e),this.coords=new this.ArrayType(this.data,Z+c+a,e*2),this._pos=e*2,this._finished=!0):(this.data=new ArrayBuffer(Z+i+c+a),this.ids=new this.IndexArrayType(this.data,Z,e),this.coords=new this.ArrayType(this.data,Z+c+a,e*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(ae<<4)+s]),new Uint16Array(this.data,2,1)[0]=r,new Uint32Array(this.data,4,1)[0]=e)}add(e,r){const n=this._pos>>1;return this.ids[n]=n,this.coords[this._pos++]=e,this.coords[this._pos++]=r,n}finish(){const e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return le(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,r,n,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:s,coords:i,nodeSize:c}=this,a=[0,s.length-1,0],d=[];for(;a.length;){const p=a.pop()||0,u=a.pop()||0,m=a.pop()||0;if(u-m<=c){for(let y=m;y<=u;y++){const v=i[2*y],w=i[2*y+1];v>=e&&v<=n&&w>=r&&w<=o&&d.push(s[y])}continue}const h=m+u>>1,g=i[2*h],f=i[2*h+1];g>=e&&g<=n&&f>=r&&f<=o&&d.push(s[h]),(p===0?e<=g:r<=f)&&(a.push(m),a.push(h-1),a.push(1-p)),(p===0?n>=g:o>=f)&&(a.push(h+1),a.push(u),a.push(1-p))}return d}within(e,r,n){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:o,coords:s,nodeSize:i}=this,c=[0,o.length-1,0],a=[],d=n*n;for(;c.length;){const p=c.pop()||0,u=c.pop()||0,m=c.pop()||0;if(u-m<=i){for(let y=m;y<=u;y++)Ne(s[2*y],s[2*y+1],e,r)<=d&&a.push(o[y]);continue}const h=m+u>>1,g=s[2*h],f=s[2*h+1];Ne(g,f,e,r)<=d&&a.push(o[h]),(p===0?e-n<=g:r-n<=f)&&(c.push(m),c.push(h-1),c.push(1-p)),(p===0?e+n>=g:r+n>=f)&&(c.push(h+1),c.push(u),c.push(1-p))}return a}}function le(t,e,r,n,o,s){if(o-n<=r)return;const i=n+o>>1;Ie(t,e,i,n,o,s),le(t,e,r,n,i-1,1-s),le(t,e,r,i+1,o,1-s)}function Ie(t,e,r,n,o,s){for(;o>n;){if(o-n>600){const d=o-n+1,p=r-n+1,u=Math.log(d),m=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*m*(d-m)/d)*(p-d/2<0?-1:1),g=Math.max(n,Math.floor(r-p*m/d+h)),f=Math.min(o,Math.floor(r+(d-p)*m/d+h));Ie(t,e,r,g,f,s)}const i=e[2*r+s];let c=n,a=o;for(G(t,e,n,r),e[2*o+s]>i&&G(t,e,n,o);c<a;){for(G(t,e,c,a),c++,a--;e[2*c+s]<i;)c++;for(;e[2*a+s]>i;)a--}e[2*n+s]===i?G(t,e,n,a):(a++,G(t,e,a,o)),a<=r&&(n=a+1),r<=a&&(o=a-1)}}function G(t,e,r,n){ce(t,r,n),ce(e,2*r,2*n),ce(e,2*r+1,2*n+1)}function ce(t,e,r){const n=t[e];t[e]=t[r],t[r]=n}function Ne(t,e,r,n){const o=t-r,s=e-n;return o*o+s*s}const dr={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:t=>t},Be=Math.fround||(t=>e=>(t[0]=+e,t[0]))(new Float32Array(1)),N=2,L=3,ue=4,j=5,$e=6;class De{constructor(e){this.options=Object.assign(Object.create(dr),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){const{log:r,minZoom:n,maxZoom:o}=this.options;r&&console.time("total time");const s=`prepare ${e.length} points`;r&&console.time(s),this.points=e;const i=[];for(let a=0;a<e.length;a++){const d=e[a];if(!d.geometry)continue;const[p,u]=d.geometry.coordinates,m=Be(X(p)),h=Be(Y(u));i.push(m,h,1/0,a,-1,1),this.options.reduce&&i.push(0)}let c=this.trees[o+1]=this._createTree(i);r&&console.timeEnd(s);for(let a=o;a>=n;a--){const d=+Date.now();c=this.trees[a]=this._createTree(this._cluster(c,a)),r&&console.log("z%d: %d clusters in %dms",a,c.numItems,+Date.now()-d)}return r&&console.timeEnd("total time"),this}getClusters(e,r){let n=((e[0]+180)%360+360)%360-180;const o=Math.max(-90,Math.min(90,e[1]));let s=e[2]===180?180:((e[2]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)n=-180,s=180;else if(n>s){const u=this.getClusters([n,o,180,i],r),m=this.getClusters([-180,o,s,i],r);return u.concat(m)}const c=this.trees[this._limitZoom(r)],a=c.range(X(n),Y(i),X(s),Y(o)),d=c.data,p=[];for(const u of a){const m=this.stride*u;p.push(d[m+j]>1?Ve(d,m,this.clusterProps):this.points[d[m+L]])}return p}getChildren(e){const r=this._getOriginId(e),n=this._getOriginZoom(e),o="No cluster with the specified id.",s=this.trees[n];if(!s)throw new Error(o);const i=s.data;if(r*this.stride>=i.length)throw new Error(o);const c=this.options.radius/(this.options.extent*Math.pow(2,n-1)),a=i[r*this.stride],d=i[r*this.stride+1],p=s.within(a,d,c),u=[];for(const m of p){const h=m*this.stride;i[h+ue]===e&&u.push(i[h+j]>1?Ve(i,h,this.clusterProps):this.points[i[h+L]])}if(u.length===0)throw new Error(o);return u}getLeaves(e,r,n){r=r||10,n=n||0;const o=[];return this._appendLeaves(o,e,r,n,0),o}getTile(e,r,n){const o=this.trees[this._limitZoom(e)],s=Math.pow(2,e),{extent:i,radius:c}=this.options,a=c/i,d=(n-a)/s,p=(n+1+a)/s,u={features:[]};return this._addTileFeatures(o.range((r-a)/s,d,(r+1+a)/s,p),o.data,r,n,s,u),r===0&&this._addTileFeatures(o.range(1-a/s,d,1,p),o.data,s,n,s,u),r===s-1&&this._addTileFeatures(o.range(0,d,a/s,p),o.data,-1,n,s,u),u.features.length?u:null}getClusterExpansionZoom(e){let r=this._getOriginZoom(e)-1;for(;r<=this.options.maxZoom;){const n=this.getChildren(e);if(r++,n.length!==1)break;e=n[0].properties.cluster_id}return r}_appendLeaves(e,r,n,o,s){const i=this.getChildren(r);for(const c of i){const a=c.properties;if(a&&a.cluster?s+a.point_count<=o?s+=a.point_count:s=this._appendLeaves(e,a.cluster_id,n,o,s):s<o?s++:e.push(c),e.length===n)break}return s}_createTree(e){const r=new ie(e.length/this.stride|0,this.options.nodeSize,Float32Array);for(let n=0;n<e.length;n+=this.stride)r.add(e[n],e[n+1]);return r.finish(),r.data=e,r}_addTileFeatures(e,r,n,o,s,i){for(const c of e){const a=c*this.stride,d=r[a+j]>1;let p,u,m;if(d)p=Ue(r,a,this.clusterProps),u=r[a],m=r[a+1];else{const f=this.points[r[a+L]];p=f.properties;const[y,v]=f.geometry.coordinates;u=X(y),m=Y(v)}const h={type:1,geometry:[[Math.round(this.options.extent*(u*s-n)),Math.round(this.options.extent*(m*s-o))]],tags:p};let g;d||this.options.generateId?g=r[a+L]:g=this.points[r[a+L]].id,g!==void 0&&(h.id=g),i.features.push(h)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,r){const{radius:n,extent:o,reduce:s,minPoints:i}=this.options,c=n/(o*Math.pow(2,r)),a=e.data,d=[],p=this.stride;for(let u=0;u<a.length;u+=p){if(a[u+N]<=r)continue;a[u+N]=r;const m=a[u],h=a[u+1],g=e.within(a[u],a[u+1],c),f=a[u+j];let y=f;for(const v of g){const w=v*p;a[w+N]>r&&(y+=a[w+j])}if(y>f&&y>=i){let v=m*f,w=h*f,_,T=-1;const O=((u/p|0)<<5)+(r+1)+this.points.length;for(const E of g){const C=E*p;if(a[C+N]<=r)continue;a[C+N]=r;const S=a[C+j];v+=a[C]*S,w+=a[C+1]*S,a[C+ue]=O,s&&(_||(_=this._map(a,u,!0),T=this.clusterProps.length,this.clusterProps.push(_)),s(_,this._map(a,C)))}a[u+ue]=O,d.push(v/y,w/y,1/0,O,-1,y),s&&d.push(T)}else{for(let v=0;v<p;v++)d.push(a[u+v]);if(y>1)for(const v of g){const w=v*p;if(!(a[w+N]<=r)){a[w+N]=r;for(let _=0;_<p;_++)d.push(a[w+_])}}}}return d}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,r,n){if(e[r+j]>1){const i=this.clusterProps[e[r+$e]];return n?Object.assign({},i):i}const o=this.points[e[r+L]].properties,s=this.options.map(o);return n&&s===o?Object.assign({},s):s}}function Ve(t,e,r){return{type:"Feature",id:t[e+L],properties:Ue(t,e,r),geometry:{type:"Point",coordinates:[fr(t[e]),pr(t[e+1])]}}}function Ue(t,e,r){const n=t[e+j],o=n>=1e4?`${Math.round(n/1e3)}k`:n>=1e3?`${Math.round(n/100)/10}k`:n,s=t[e+$e],i=s===-1?{}:Object.assign({},r[s]);return Object.assign(i,{cluster:!0,cluster_id:t[e+L],point_count:n,point_count_abbreviated:o})}function X(t){return t/360+.5}function Y(t){const e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function fr(t){return(t-.5)*360}function pr(t){const e=(180-t*360)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function de(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(t,n[o])&&(r[n[o]]=t[n[o]]);return r}typeof SuppressedError=="function"&&SuppressedError;class b{static isAdvancedMarkerAvailable(e){return google.maps.marker&&e.getMapCapabilities().isAdvancedMarkersAvailable===!0}static isAdvancedMarker(e){return google.maps.marker&&e instanceof google.maps.marker.AdvancedMarkerElement}static setMap(e,r){this.isAdvancedMarker(e)?e.map=r:e.setMap(r)}static getPosition(e){if(this.isAdvancedMarker(e)){if(e.position){if(e.position instanceof google.maps.LatLng)return e.position;if(Number.isFinite(e.position.lat)&&Number.isFinite(e.position.lng))return new google.maps.LatLng(e.position.lat,e.position.lng)}return new google.maps.LatLng(null)}return e.getPosition()}static getVisible(e){return this.isAdvancedMarker(e)?!0:e.getVisible()}}class F{constructor({markers:e,position:r}){this.markers=[],e&&(this.markers=e),r&&(r instanceof google.maps.LatLng?this._position=r:this._position=new google.maps.LatLng(r))}get bounds(){if(this.markers.length===0&&!this._position)return;const e=new google.maps.LatLngBounds(this._position,this._position);for(const r of this.markers)e.extend(b.getPosition(r));return e}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter(e=>b.getVisible(e)).length}push(e){this.markers.push(e)}delete(){this.marker&&(b.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}function P(t,e="assertion failed"){if(t==null)throw Error(e)}const mr=(t,e,r,n)=>{const o=t.getBounds();P(o);const s=Ze(o,e,n);return r.filter(i=>s.contains(b.getPosition(i)))},Ze=(t,e,r)=>{const{northEast:n,southWest:o}=gr(t,e),s=yr({northEast:n,southWest:o},r);return vr(s,e)},hr=(t,e,r)=>{const n=Ze(t,e,r),o=n.getNorthEast(),s=n.getSouthWest();return[s.lng(),s.lat(),o.lng(),o.lat()]},gr=(t,e)=>{const r=e.fromLatLngToDivPixel(t.getNorthEast()),n=e.fromLatLngToDivPixel(t.getSouthWest());return P(r),P(n),{northEast:r,southWest:n}},yr=({northEast:t,southWest:e},r)=>(t.x+=r,t.y-=r,e.x-=r,e.y+=r,{northEast:t,southWest:e}),vr=({northEast:t,southWest:e},r)=>{const n=r.fromDivPixelToLatLng(e),o=r.fromDivPixelToLatLng(t);return new google.maps.LatLngBounds(n,o)};class Ge{constructor({maxZoom:e=16}){this.maxZoom=e}noop({markers:e}){return Er(e)}}class wr extends Ge{constructor(e){var{viewportPadding:r=60}=e,n=de(e,["viewportPadding"]);super(n),this.viewportPadding=60,this.viewportPadding=r}calculate({markers:e,map:r,mapCanvasProjection:n}){const o=r.getZoom();return P(o),o>=this.maxZoom?{clusters:this.noop({markers:e}),changed:!1}:{clusters:this.cluster({markers:mr(r,n,e,this.viewportPadding),map:r,mapCanvasProjection:n})}}}const Er=t=>t.map(r=>new F({position:b.getPosition(r),markers:[r]}));class kr extends Ge{constructor(e){var{maxZoom:r,radius:n=60}=e,o=de(e,["maxZoom","radius"]);super({maxZoom:r}),this.markers=[],this.clusters=[],this.state={zoom:-1},this.superCluster=new De(Object.assign({maxZoom:this.maxZoom,radius:n},o))}calculate(e){let r=!1,n=e.map.getZoom();P(n),n=Math.round(n);const o={zoom:n};if(!K(e.markers,this.markers)){r=!0,this.markers=[...e.markers];const s=this.markers.map(i=>{const c=b.getPosition(i);return{type:"Feature",geometry:{type:"Point",coordinates:[c.lng(),c.lat()]},properties:{marker:i}}});this.superCluster.load(s)}return r||(this.state.zoom<=this.maxZoom||o.zoom<=this.maxZoom)&&(r=!K(this.state,o)),this.state=o,e.markers.length===0?(this.clusters=[],{clusters:this.clusters,changed:r}):(r&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:r})}cluster({map:e}){const r=e.getZoom();return P(r),this.superCluster.getClusters([-180,-90,180,90],Math.round(r)).map(n=>this.transformCluster(n))}transformCluster({geometry:{coordinates:[e,r]},properties:n}){if(n.cluster)return new F({markers:this.superCluster.getLeaves(n.cluster_id,1/0).map(s=>s.properties.marker),position:{lat:r,lng:e}});const o=n.marker;return new F({markers:[o],position:b.getPosition(o)})}}class _r extends wr{constructor(e){var{maxZoom:r,radius:n=60,viewportPadding:o=60}=e,s=de(e,["maxZoom","radius","viewportPadding"]);super({maxZoom:r,viewportPadding:o}),this.markers=[],this.clusters=[],this.superCluster=new De(Object.assign({maxZoom:this.maxZoom,radius:n},s)),this.state={zoom:-1,view:[0,0,0,0]}}calculate(e){const r=this.getViewportState(e);let n=!K(this.state,r);if(!K(e.markers,this.markers)){n=!0,this.markers=[...e.markers];const o=this.markers.map(s=>{const i=b.getPosition(s);return{type:"Feature",geometry:{type:"Point",coordinates:[i.lng(),i.lat()]},properties:{marker:s}}});this.superCluster.load(o)}return n&&(this.clusters=this.cluster(e),this.state=r),{clusters:this.clusters,changed:n}}cluster(e){const r=this.getViewportState(e);return this.superCluster.getClusters(r.view,r.zoom).map(n=>this.transformCluster(n))}transformCluster({geometry:{coordinates:[e,r]},properties:n}){if(n.cluster)return new F({markers:this.superCluster.getLeaves(n.cluster_id,1/0).map(s=>s.properties.marker),position:{lat:r,lng:e}});const o=n.marker;return new F({markers:[o],position:b.getPosition(o)})}getViewportState(e){const r=e.map.getZoom(),n=e.map.getBounds();return P(r),P(n),{zoom:Math.round(r),view:hr(n,e.mapCanvasProjection,this.viewportPadding)}}}class Cr{constructor(e,r){this.markers={sum:e.length};const n=r.map(s=>s.count),o=n.reduce((s,i)=>s+i,0);this.clusters={count:r.length,markers:{mean:o/r.length,sum:o,min:Math.min(...n),max:Math.max(...n)}}}}class br{render({count:e,position:r},n,o){const i=`<svg fill="${e>Math.max(10,n.clusters.markers.mean)?"#ff0000":"#0000ff"}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240" width="50" height="50">
|
|
5
|
+
`),(0,t.createElementVNode)(`div`,je,[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)],512)],2112)}var Ne=T(Ae,[[`render`,Me],[`__scopeId`,`data-v-ae91c15f`]]);function Pe(e){return e instanceof google.maps.marker.AdvancedMarkerElement?`gmp-click`:`click`}var Fe=[`closeclick`,`content_changed`,`domready`,`position_changed`,`visible`,`zindex_changed`],Ie=(0,t.defineComponent)({inheritAttrs:!1,props:{options:{type:Object,default:()=>({})},modelValue:{type:Boolean}},emits:[...Fe,`update:modelValue`],setup(e,{slots:n,emit:r,expose:i}){let a=(0,t.ref)(),o=(0,t.ref)(),s=(0,t.inject)(d,(0,t.ref)()),c=(0,t.inject)(f,(0,t.ref)()),l=(0,t.inject)(p,(0,t.ref)()),u,m=e.modelValue,h=(0,t.computed)(()=>n.default?.().some(e=>e.type!==t.Comment)),g=e=>{m=e,r(`update:modelValue`,e)},_=e=>{a.value&&(a.value.open({map:s.value,anchor:l.value,...e}),g(!0))},v=()=>{a.value&&(a.value.close(),g(!1))},y;return(0,t.onMounted)(()=>{(0,t.watch)([s,()=>e.options],([e,n],[i])=>{let d=!y||!(0,E.default)(n,y)||s.value!==i;s.value&&c.value&&d&&(a.value?(a.value.setOptions({...n,content:h.value?o.value:n.content}),l.value||_()):(a.value=(0,t.markRaw)(new c.value.InfoWindow({...n,content:h.value?o.value:n.content})),l.value&&(u=l.value.addListener(Pe(l.value),()=>_())),(!l.value||m)&&_(),Fe.forEach(e=>{a.value?.addListener(e,t=>r(e,t))}),a.value?.addListener(`closeclick`,()=>g(!1))),y=w(n))},{immediate:!0,flush:`post`,deep:!0}),(0,t.watch)(l,(e,t)=>{!a.value||e===t||(u&&=(u.remove(),void 0),e&&(u=e.addListener(Pe(e),()=>_())))},{flush:`post`}),(0,t.watch)(()=>e.modelValue,e=>{e!==m&&(e?_():v())})}),(0,t.onBeforeUnmount)(()=>{u&&u.remove(),a.value&&(c.value?.event.clearInstanceListeners(a.value),v())}),i({infoWindow:a,open:_,close:v}),{infoWindow:a,infoWindowRef:o,hasSlotContent:h,open:_,close:v}}}),Le={key:0,class:`info-window-wrapper`};function Re(e,n,r,i,a,o){return e.hasSlotContent?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Le,[(0,t.createElementVNode)(`div`,(0,t.mergeProps)({ref:`infoWindowRef`},e.$attrs),[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)],16)])):(0,t.createCommentVNode)(`v-if`,!0)}var ze=T(Ie,[[`render`,Re],[`__scopeId`,`data-v-48547193`]]),Be=Object.getOwnPropertyNames,Ve=Object.getOwnPropertySymbols,He=Object.prototype.hasOwnProperty;function Ue(e,t){return function(n,r,i){return e(n,r,i)&&t(n,r,i)}}function k(e){return function(t,n,r){if(!t||!n||typeof t!=`object`||typeof n!=`object`)return e(t,n,r);var i=r.cache,a=i.get(t),o=i.get(n);if(a&&o)return a===n&&o===t;i.set(t,n),i.set(n,t);var s=e(t,n,r);return i.delete(t),i.delete(n),s}}function We(e){return Be(e).concat(Ve(e))}var Ge=Object.hasOwn||(function(e,t){return He.call(e,t)});function A(e,t){return e===t||!e&&!t&&e!==e&&t!==t}var Ke=`__v`,qe=`__o`,Je=`_owner`,Ye=Object.getOwnPropertyDescriptor,Xe=Object.keys;function Ze(e,t,n){var r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function Qe(e,t){return A(e.getTime(),t.getTime())}function $e(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function et(e,t){return e===t}function tt(e,t,n){var r=e.size;if(r!==t.size)return!1;if(!r)return!0;for(var i=Array(r),a=e.entries(),o,s,c=0;(o=a.next())&&!o.done;){for(var l=t.entries(),u=!1,d=0;(s=l.next())&&!s.done;){if(i[d]){d++;continue}var f=o.value,p=s.value;if(n.equals(f[0],p[0],c,d,e,t,n)&&n.equals(f[1],p[1],f[0],p[0],e,t,n)){u=i[d]=!0;break}d++}if(!u)return!1;c++}return!0}var nt=A;function rt(e,t,n){var r=Xe(e),i=r.length;if(Xe(t).length!==i)return!1;for(;i-- >0;)if(!lt(e,t,n,r[i]))return!1;return!0}function j(e,t,n){var r=We(e),i=r.length;if(We(t).length!==i)return!1;for(var a,o,s;i-- >0;)if(a=r[i],!lt(e,t,n,a)||(o=Ye(e,a),s=Ye(t,a),(o||s)&&(!o||!s||o.configurable!==s.configurable||o.enumerable!==s.enumerable||o.writable!==s.writable)))return!1;return!0}function it(e,t){return A(e.valueOf(),t.valueOf())}function at(e,t){return e.source===t.source&&e.flags===t.flags}function ot(e,t,n){var r=e.size;if(r!==t.size)return!1;if(!r)return!0;for(var i=Array(r),a=e.values(),o,s;(o=a.next())&&!o.done;){for(var c=t.values(),l=!1,u=0;(s=c.next())&&!s.done;){if(!i[u]&&n.equals(o.value,s.value,o.value,s.value,e,t,n)){l=i[u]=!0;break}u++}if(!l)return!1}return!0}function st(e,t){var n=e.length;if(t.length!==n)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function ct(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function lt(e,t,n,r){return(r===Je||r===qe||r===Ke)&&(e.$$typeof||t.$$typeof)?!0:Ge(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}var ut=`[object Arguments]`,dt=`[object Boolean]`,ft=`[object Date]`,pt=`[object Error]`,mt=`[object Map]`,ht=`[object Number]`,gt=`[object Object]`,_t=`[object RegExp]`,vt=`[object Set]`,yt=`[object String]`,bt=`[object URL]`,xt=Array.isArray,St=typeof ArrayBuffer==`function`&&ArrayBuffer.isView?ArrayBuffer.isView:null,Ct=Object.assign,wt=Object.prototype.toString.call.bind(Object.prototype.toString);function Tt(e){var t=e.areArraysEqual,n=e.areDatesEqual,r=e.areErrorsEqual,i=e.areFunctionsEqual,a=e.areMapsEqual,o=e.areNumbersEqual,s=e.areObjectsEqual,c=e.arePrimitiveWrappersEqual,l=e.areRegExpsEqual,u=e.areSetsEqual,d=e.areTypedArraysEqual,f=e.areUrlsEqual;return function(e,p,m){if(e===p)return!0;if(e==null||p==null)return!1;var h=typeof e;if(h!==typeof p)return!1;if(h!==`object`)return h===`number`?o(e,p,m):h===`function`?i(e,p,m):!1;var g=e.constructor;if(g!==p.constructor)return!1;if(g===Object)return s(e,p,m);if(xt(e))return t(e,p,m);if(St!=null&&St(e))return d(e,p,m);if(g===Date)return n(e,p,m);if(g===RegExp)return l(e,p,m);if(g===Map)return a(e,p,m);if(g===Set)return u(e,p,m);var _=wt(e);return _===ft?n(e,p,m):_===_t?l(e,p,m):_===mt?a(e,p,m):_===vt?u(e,p,m):_===gt?typeof e.then!=`function`&&typeof p.then!=`function`&&s(e,p,m):_===bt?f(e,p,m):_===pt?r(e,p,m):_===ut?s(e,p,m):_===dt||_===ht||_===yt?c(e,p,m):!1}}function Et(e){var t=e.circular,n=e.createCustomConfig,r=e.strict,i={areArraysEqual:r?j:Ze,areDatesEqual:Qe,areErrorsEqual:$e,areFunctionsEqual:et,areMapsEqual:r?Ue(tt,j):tt,areNumbersEqual:nt,areObjectsEqual:r?j:rt,arePrimitiveWrappersEqual:it,areRegExpsEqual:at,areSetsEqual:r?Ue(ot,j):ot,areTypedArraysEqual:r?j:st,areUrlsEqual:ct};if(n&&(i=Ct({},i,n(i))),t){var a=k(i.areArraysEqual),o=k(i.areMapsEqual),s=k(i.areObjectsEqual),c=k(i.areSetsEqual);i=Ct({},i,{areArraysEqual:a,areMapsEqual:o,areObjectsEqual:s,areSetsEqual:c})}return i}function Dt(e){return function(t,n,r,i,a,o,s){return e(t,n,s)}}function Ot(e){var t=e.circular,n=e.comparator,r=e.createState,i=e.equals,a=e.strict;if(r)return function(e,o){var s=r(),c=s.cache,l=c===void 0?t?new WeakMap:void 0:c,u=s.meta;return n(e,o,{cache:l,equals:i,meta:u,strict:a})};if(t)return function(e,t){return n(e,t,{cache:new WeakMap,equals:i,meta:void 0,strict:a})};var o={cache:void 0,equals:i,meta:void 0,strict:a};return function(e,t){return n(e,t,o)}}var M=N();N({strict:!0}),N({circular:!0}),N({circular:!0,strict:!0}),N({createInternalComparator:function(){return A}}),N({strict:!0,createInternalComparator:function(){return A}}),N({circular:!0,createInternalComparator:function(){return A}}),N({circular:!0,createInternalComparator:function(){return A},strict:!0});function N(e){e===void 0&&(e={});var t=e.circular,n=t===void 0?!1:t,r=e.createInternalComparator,i=e.createState,a=e.strict,o=a===void 0?!1:a,s=Tt(Et(e));return Ot({circular:n,comparator:s,createState:i,equals:r?r(s):Dt(s),strict:o})}var kt=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],P=1,F=8,At=class e{static from(t){if(!(t instanceof ArrayBuffer))throw Error(`Data must be an instance of ArrayBuffer.`);let[n,r]=new Uint8Array(t,0,2);if(n!==219)throw Error(`Data does not appear to be in a KDBush format.`);let i=r>>4;if(i!==P)throw Error(`Got v${i} data when expected v${P}.`);let a=kt[r&15];if(!a)throw Error(`Unrecognized array type.`);let[o]=new Uint16Array(t,2,1),[s]=new Uint32Array(t,4,1);return new e(s,o,a,t)}constructor(e,t=64,n=Float64Array,r){if(isNaN(e)||e<0)throw Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=n,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;let i=kt.indexOf(this.ArrayType),a=e*2*this.ArrayType.BYTES_PER_ELEMENT,o=e*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-o%8)%8;if(i<0)throw Error(`Unexpected typed array class: ${n}.`);r&&r instanceof ArrayBuffer?(this.data=r,this.ids=new this.IndexArrayType(this.data,F,e),this.coords=new this.ArrayType(this.data,F+o+s,e*2),this._pos=e*2,this._finished=!0):(this.data=new ArrayBuffer(F+a+o+s),this.ids=new this.IndexArrayType(this.data,F,e),this.coords=new this.ArrayType(this.data,F+o+s,e*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(P<<4)+i]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){let n=this._pos>>1;return this.ids[n]=n,this.coords[this._pos++]=e,this.coords[this._pos++]=t,n}finish(){let e=this._pos>>1;if(e!==this.numItems)throw Error(`Added ${e} items when expected ${this.numItems}.`);return I(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,n,r){if(!this._finished)throw Error(`Data not yet indexed - call index.finish().`);let{ids:i,coords:a,nodeSize:o}=this,s=[0,i.length-1,0],c=[];for(;s.length;){let l=s.pop()||0,u=s.pop()||0,d=s.pop()||0;if(u-d<=o){for(let o=d;o<=u;o++){let s=a[2*o],l=a[2*o+1];s>=e&&s<=n&&l>=t&&l<=r&&c.push(i[o])}continue}let f=d+u>>1,p=a[2*f],m=a[2*f+1];p>=e&&p<=n&&m>=t&&m<=r&&c.push(i[f]),(l===0?e<=p:t<=m)&&(s.push(d),s.push(f-1),s.push(1-l)),(l===0?n>=p:r>=m)&&(s.push(f+1),s.push(u),s.push(1-l))}return c}within(e,t,n){if(!this._finished)throw Error(`Data not yet indexed - call index.finish().`);let{ids:r,coords:i,nodeSize:a}=this,o=[0,r.length-1,0],s=[],c=n*n;for(;o.length;){let l=o.pop()||0,u=o.pop()||0,d=o.pop()||0;if(u-d<=a){for(let n=d;n<=u;n++)Mt(i[2*n],i[2*n+1],e,t)<=c&&s.push(r[n]);continue}let f=d+u>>1,p=i[2*f],m=i[2*f+1];Mt(p,m,e,t)<=c&&s.push(r[f]),(l===0?e-n<=p:t-n<=m)&&(o.push(d),o.push(f-1),o.push(1-l)),(l===0?e+n>=p:t+n>=m)&&(o.push(f+1),o.push(u),o.push(1-l))}return s}};function I(e,t,n,r,i,a){if(i-r<=n)return;let o=r+i>>1;jt(e,t,o,r,i,a),I(e,t,n,r,o-1,1-a),I(e,t,n,o+1,i,1-a)}function jt(e,t,n,r,i,a){for(;i>r;){if(i-r>600){let o=i-r+1,s=n-r+1,c=Math.log(o),l=.5*Math.exp(2*c/3),u=.5*Math.sqrt(c*l*(o-l)/o)*(s-o/2<0?-1:1);jt(e,t,n,Math.max(r,Math.floor(n-s*l/o+u)),Math.min(i,Math.floor(n+(o-s)*l/o+u)),a)}let o=t[2*n+a],s=r,c=i;for(L(e,t,r,n),t[2*i+a]>o&&L(e,t,r,i);s<c;){for(L(e,t,s,c),s++,c--;t[2*s+a]<o;)s++;for(;t[2*c+a]>o;)c--}t[2*r+a]===o?L(e,t,r,c):(c++,L(e,t,c,i)),c<=n&&(r=c+1),n<=c&&(i=c-1)}}function L(e,t,n,r){R(e,n,r),R(t,2*n,2*r),R(t,2*n+1,2*r+1)}function R(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function Mt(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}var Nt={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},Pt=Math.fround||(e=>(t=>(e[0]=+t,e[0])))(new Float32Array(1)),z=2,B=3,V=4,H=5,Ft=6,It=class{constructor(e){this.options=Object.assign(Object.create(Nt),e),this.trees=Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){let{log:t,minZoom:n,maxZoom:r}=this.options;t&&console.time(`total time`);let i=`prepare ${e.length} points`;t&&console.time(i),this.points=e;let a=[];for(let t=0;t<e.length;t++){let n=e[t];if(!n.geometry)continue;let[r,i]=n.geometry.coordinates,o=Pt(U(r)),s=Pt(W(i));a.push(o,s,1/0,t,-1,1),this.options.reduce&&a.push(0)}let o=this.trees[r+1]=this._createTree(a);t&&console.timeEnd(i);for(let e=r;e>=n;e--){let n=+Date.now();o=this.trees[e]=this._createTree(this._cluster(o,e)),t&&console.log(`z%d: %d clusters in %dms`,e,o.numItems,+Date.now()-n)}return t&&console.timeEnd(`total time`),this}getClusters(e,t){let n=((e[0]+180)%360+360)%360-180,r=Math.max(-90,Math.min(90,e[1])),i=e[2]===180?180:((e[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)n=-180,i=180;else if(n>i){let e=this.getClusters([n,r,180,a],t),o=this.getClusters([-180,r,i,a],t);return e.concat(o)}let o=this.trees[this._limitZoom(t)],s=o.range(U(n),W(a),U(i),W(r)),c=o.data,l=[];for(let e of s){let t=this.stride*e;l.push(c[t+H]>1?Lt(c,t,this.clusterProps):this.points[c[t+B]])}return l}getChildren(e){let t=this._getOriginId(e),n=this._getOriginZoom(e),r=`No cluster with the specified id.`,i=this.trees[n];if(!i)throw Error(r);let a=i.data;if(t*this.stride>=a.length)throw Error(r);let o=this.options.radius/(this.options.extent*2**(n-1)),s=a[t*this.stride],c=a[t*this.stride+1],l=i.within(s,c,o),u=[];for(let t of l){let n=t*this.stride;a[n+V]===e&&u.push(a[n+H]>1?Lt(a,n,this.clusterProps):this.points[a[n+B]])}if(u.length===0)throw Error(r);return u}getLeaves(e,t,n){t||=10,n||=0;let r=[];return this._appendLeaves(r,e,t,n,0),r}getTile(e,t,n){let r=this.trees[this._limitZoom(e)],i=2**e,{extent:a,radius:o}=this.options,s=o/a,c=(n-s)/i,l=(n+1+s)/i,u={features:[]};return this._addTileFeatures(r.range((t-s)/i,c,(t+1+s)/i,l),r.data,t,n,i,u),t===0&&this._addTileFeatures(r.range(1-s/i,c,1,l),r.data,i,n,i,u),t===i-1&&this._addTileFeatures(r.range(0,c,s/i,l),r.data,-1,n,i,u),u.features.length?u:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){let n=this.getChildren(e);if(t++,n.length!==1)break;e=n[0].properties.cluster_id}return t}_appendLeaves(e,t,n,r,i){let a=this.getChildren(t);for(let t of a){let a=t.properties;if(a&&a.cluster?i+a.point_count<=r?i+=a.point_count:i=this._appendLeaves(e,a.cluster_id,n,r,i):i<r?i++:e.push(t),e.length===n)break}return i}_createTree(e){let t=new At(e.length/this.stride|0,this.options.nodeSize,Float32Array);for(let n=0;n<e.length;n+=this.stride)t.add(e[n],e[n+1]);return t.finish(),t.data=e,t}_addTileFeatures(e,t,n,r,i,a){for(let o of e){let e=o*this.stride,s=t[e+H]>1,c,l,u;if(s)c=Rt(t,e,this.clusterProps),l=t[e],u=t[e+1];else{let n=this.points[t[e+B]];c=n.properties;let[r,i]=n.geometry.coordinates;l=U(r),u=W(i)}let d={type:1,geometry:[[Math.round(this.options.extent*(l*i-n)),Math.round(this.options.extent*(u*i-r))]],tags:c},f;f=s||this.options.generateId?t[e+B]:this.points[t[e+B]].id,f!==void 0&&(d.id=f),a.features.push(d)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){let{radius:n,extent:r,reduce:i,minPoints:a}=this.options,o=n/(r*2**t),s=e.data,c=[],l=this.stride;for(let n=0;n<s.length;n+=l){if(s[n+z]<=t)continue;s[n+z]=t;let r=s[n],u=s[n+1],d=e.within(s[n],s[n+1],o),f=s[n+H],p=f;for(let e of d){let n=e*l;s[n+z]>t&&(p+=s[n+H])}if(p>f&&p>=a){let e=r*f,a=u*f,o,m=-1,h=((n/l|0)<<5)+(t+1)+this.points.length;for(let r of d){let c=r*l;if(s[c+z]<=t)continue;s[c+z]=t;let u=s[c+H];e+=s[c]*u,a+=s[c+1]*u,s[c+V]=h,i&&(o||(o=this._map(s,n,!0),m=this.clusterProps.length,this.clusterProps.push(o)),i(o,this._map(s,c)))}s[n+V]=h,c.push(e/p,a/p,1/0,h,-1,p),i&&c.push(m)}else{for(let e=0;e<l;e++)c.push(s[n+e]);if(p>1)for(let e of d){let n=e*l;if(!(s[n+z]<=t)){s[n+z]=t;for(let e=0;e<l;e++)c.push(s[n+e])}}}}return c}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,n){if(e[t+H]>1){let r=this.clusterProps[e[t+Ft]];return n?Object.assign({},r):r}let r=this.points[e[t+B]].properties,i=this.options.map(r);return n&&i===r?Object.assign({},i):i}};function Lt(e,t,n){return{type:`Feature`,id:e[t+B],properties:Rt(e,t,n),geometry:{type:`Point`,coordinates:[zt(e[t]),Bt(e[t+1])]}}}function Rt(e,t,n){let r=e[t+H],i=r>=1e4?`${Math.round(r/1e3)}k`:r>=1e3?`${Math.round(r/100)/10}k`:r,a=e[t+Ft],o=a===-1?{}:Object.assign({},n[a]);return Object.assign(o,{cluster:!0,cluster_id:e[t+B],point_count:r,point_count_abbreviated:i})}function U(e){return e/360+.5}function W(e){let t=Math.sin(e*Math.PI/180),n=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return n<0?0:n>1?1:n}function zt(e){return(e-.5)*360}function Bt(e){let t=(180-e*360)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function G(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}var K=class{static isAdvancedMarkerAvailable(e){return google.maps.marker&&e.getMapCapabilities().isAdvancedMarkersAvailable===!0}static isAdvancedMarker(e){return google.maps.marker&&e instanceof google.maps.marker.AdvancedMarkerElement}static setMap(e,t){this.isAdvancedMarker(e)?e.map=t:e.setMap(t)}static getPosition(e){if(this.isAdvancedMarker(e)){if(e.position){if(e.position instanceof google.maps.LatLng)return e.position;if(Number.isFinite(e.position.lat)&&Number.isFinite(e.position.lng))return new google.maps.LatLng(e.position.lat,e.position.lng)}return new google.maps.LatLng(null)}return e.getPosition()}static getVisible(e){return this.isAdvancedMarker(e)?!0:e.getVisible()}},q=class{constructor({markers:e,position:t}){this.markers=[],e&&(this.markers=e),t&&(t instanceof google.maps.LatLng?this._position=t:this._position=new google.maps.LatLng(t))}get bounds(){if(this.markers.length===0&&!this._position)return;let e=new google.maps.LatLngBounds(this._position,this._position);for(let t of this.markers)e.extend(K.getPosition(t));return e}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter(e=>K.getVisible(e)).length}push(e){this.markers.push(e)}delete(){this.marker&&=(K.setMap(this.marker,null),void 0),this.markers.length=0}};function J(e,t=`assertion failed`){if(e==null)throw Error(t)}var Vt=(e,t,n,r)=>{let i=e.getBounds();J(i);let a=Ht(i,t,r);return n.filter(e=>a.contains(K.getPosition(e)))},Ht=(e,t,n)=>{let{northEast:r,southWest:i}=Wt(e,t);return Kt(Gt({northEast:r,southWest:i},n),t)},Ut=(e,t,n)=>{let r=Ht(e,t,n),i=r.getNorthEast(),a=r.getSouthWest();return[a.lng(),a.lat(),i.lng(),i.lat()]},Wt=(e,t)=>{let n=t.fromLatLngToDivPixel(e.getNorthEast()),r=t.fromLatLngToDivPixel(e.getSouthWest());return J(n),J(r),{northEast:n,southWest:r}},Gt=({northEast:e,southWest:t},n)=>(e.x+=n,e.y-=n,t.x-=n,t.y+=n,{northEast:e,southWest:t}),Kt=({northEast:e,southWest:t},n)=>{let r=n.fromDivPixelToLatLng(t),i=n.fromDivPixelToLatLng(e);return new google.maps.LatLngBounds(r,i)},qt=class{constructor({maxZoom:e=16}){this.maxZoom=e}noop({markers:e}){return Yt(e)}},Jt=class extends qt{constructor(e){var{viewportPadding:t=60}=e,n=G(e,[`viewportPadding`]);super(n),this.viewportPadding=60,this.viewportPadding=t}calculate({markers:e,map:t,mapCanvasProjection:n}){let r=t.getZoom();return J(r),r>=this.maxZoom?{clusters:this.noop({markers:e}),changed:!1}:{clusters:this.cluster({markers:Vt(t,n,e,this.viewportPadding),map:t,mapCanvasProjection:n})}}},Yt=e=>e.map(e=>new q({position:K.getPosition(e),markers:[e]})),Xt=class extends qt{constructor(e){var{maxZoom:t,radius:n=60}=e,r=G(e,[`maxZoom`,`radius`]);super({maxZoom:t}),this.markers=[],this.clusters=[],this.state={zoom:-1},this.superCluster=new It(Object.assign({maxZoom:this.maxZoom,radius:n},r))}calculate(e){let t=!1,n=e.map.getZoom();J(n),n=Math.round(n);let r={zoom:n};if(!M(e.markers,this.markers)){t=!0,this.markers=[...e.markers];let n=this.markers.map(e=>{let t=K.getPosition(e);return{type:`Feature`,geometry:{type:`Point`,coordinates:[t.lng(),t.lat()]},properties:{marker:e}}});this.superCluster.load(n)}return t||(this.state.zoom<=this.maxZoom||r.zoom<=this.maxZoom)&&(t=!M(this.state,r)),this.state=r,e.markers.length===0?(this.clusters=[],{clusters:this.clusters,changed:t}):(t&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:t})}cluster({map:e}){let t=e.getZoom();return J(t),this.superCluster.getClusters([-180,-90,180,90],Math.round(t)).map(e=>this.transformCluster(e))}transformCluster({geometry:{coordinates:[e,t]},properties:n}){if(n.cluster)return new q({markers:this.superCluster.getLeaves(n.cluster_id,1/0).map(e=>e.properties.marker),position:{lat:t,lng:e}});let r=n.marker;return new q({markers:[r],position:K.getPosition(r)})}},Zt=class extends Jt{constructor(e){var{maxZoom:t,radius:n=60,viewportPadding:r=60}=e,i=G(e,[`maxZoom`,`radius`,`viewportPadding`]);super({maxZoom:t,viewportPadding:r}),this.markers=[],this.clusters=[],this.superCluster=new It(Object.assign({maxZoom:this.maxZoom,radius:n},i)),this.state={zoom:-1,view:[0,0,0,0]}}calculate(e){let t=this.getViewportState(e),n=!M(this.state,t);if(!M(e.markers,this.markers)){n=!0,this.markers=[...e.markers];let t=this.markers.map(e=>{let t=K.getPosition(e);return{type:`Feature`,geometry:{type:`Point`,coordinates:[t.lng(),t.lat()]},properties:{marker:e}}});this.superCluster.load(t)}return n&&(this.clusters=this.cluster(e),this.state=t),{clusters:this.clusters,changed:n}}cluster(e){let t=this.getViewportState(e);return this.superCluster.getClusters(t.view,t.zoom).map(e=>this.transformCluster(e))}transformCluster({geometry:{coordinates:[e,t]},properties:n}){if(n.cluster)return new q({markers:this.superCluster.getLeaves(n.cluster_id,1/0).map(e=>e.properties.marker),position:{lat:t,lng:e}});let r=n.marker;return new q({markers:[r],position:K.getPosition(r)})}getViewportState(e){let t=e.map.getZoom(),n=e.map.getBounds();return J(t),J(n),{zoom:Math.round(t),view:Ut(n,e.mapCanvasProjection,this.viewportPadding)}}},Qt=class{constructor(e,t){this.markers={sum:e.length};let n=t.map(e=>e.count),r=n.reduce((e,t)=>e+t,0);this.clusters={count:t.length,markers:{mean:r/t.length,sum:r,min:Math.min(...n),max:Math.max(...n)}}}},$t=class{render({count:e,position:t},n,r){let i=`<svg fill="${e>Math.max(10,n.clusters.markers.mean)?`#ff0000`:`#0000ff`}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240" width="50" height="50">
|
|
6
6
|
<circle cx="120" cy="120" opacity=".6" r="70" />
|
|
7
7
|
<circle cx="120" cy="120" opacity=".3" r="90" />
|
|
8
8
|
<circle cx="120" cy="120" opacity=".2" r="110" />
|
|
9
9
|
<text x="50%" y="50%" style="fill:#fff" text-anchor="middle" font-size="50" dominant-baseline="middle" font-family="roboto,arial,sans-serif">${e}</text>
|
|
10
|
-
</svg>`,
|
|
10
|
+
</svg>`,a=`Cluster of ${e} markers`,o=Number(google.maps.Marker.MAX_ZINDEX)+e;if(K.isAdvancedMarkerAvailable(r)){let e=new DOMParser().parseFromString(i,`image/svg+xml`).documentElement;e.setAttribute(`transform`,`translate(0 25)`);let n={map:r,position:t,zIndex:o,title:a,content:e};return new google.maps.marker.AdvancedMarkerElement(n)}let s={position:t,zIndex:o,title:a,icon:{url:`data:image/svg+xml;base64,${btoa(i)}`,anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(s)}};function en(e,t){for(let n in t.prototype)e.prototype[n]=t.prototype[n]}var tn=class e{constructor(){en(e,google.maps.OverlayView)}},Y;(function(e){e.CLUSTERING_BEGIN=`clusteringbegin`,e.CLUSTERING_END=`clusteringend`,e.CLUSTER_CLICK=`click`,e.GMP_CLICK=`gmp-click`})(Y||={});var nn=(e,t,n)=>{t.bounds&&n.fitBounds(t.bounds)},rn=class extends tn{constructor({map:e,markers:t=[],algorithmOptions:n={},algorithm:r=new Xt(n),renderer:i=new $t,onClusterClick:a=nn}){super(),this.map=null,this.idleListener=null,this.markers=[...t],this.clusters=[],this.algorithm=r,this.renderer=i,this.onClusterClick=a,e&&this.setMap(e)}addMarker(e,t){this.markers.includes(e)||(this.markers.push(e),t||this.render())}addMarkers(e,t){e.forEach(e=>{this.addMarker(e,!0)}),t||this.render()}removeMarker(e,t){let n=this.markers.indexOf(e);return n===-1?!1:(K.setMap(e,null),this.markers.splice(n,1),t||this.render(),!0)}removeMarkers(e,t){let n=!1;return e.forEach(e=>{n=this.removeMarker(e,!0)||n}),n&&!t&&this.render(),n}clearMarkers(e){this.markers.length=0,e||this.render()}render(){let e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,Y.CLUSTERING_BEGIN,this);let{clusters:t,changed:n}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});if(n||n==null){let e=new Set;for(let n of t)n.markers.length==1&&e.add(n.markers[0]);let n=[];for(let t of this.clusters)t.marker!=null&&(t.markers.length==1?e.has(t.marker)||K.setMap(t.marker,null):n.push(t.marker));this.clusters=t,this.renderClusters(),requestAnimationFrame(()=>n.forEach(e=>K.setMap(e,null)))}google.maps.event.trigger(this,Y.CLUSTERING_END,this)}}onAdd(){let e=this.getMap();J(e),this.idleListener=e.addListener(`idle`,this.render.bind(this)),this.render()}onRemove(){this.idleListener&&google.maps.event.removeListener(this.idleListener),this.reset()}reset(){this.markers.forEach(e=>K.setMap(e,null)),this.clusters.forEach(e=>e.delete()),this.clusters=[]}renderClusters(){let e=new Qt(this.markers,this.clusters),t=this.getMap();this.clusters.forEach(n=>{if(n.markers.length===1)n.marker=n.markers[0];else if(n.marker=this.renderer.render(n,e,t),n.markers.forEach(e=>K.setMap(e,null)),this.onClusterClick){let e=K.isAdvancedMarker(n.marker)?Y.GMP_CLICK:Y.CLUSTER_CLICK;n.marker.addListener(e,e=>{google.maps.event.trigger(this,Y.CLUSTER_CLICK,n),this.onClusterClick(e,n,t)})}K.setMap(n.marker,t)})}};function X(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}var an=typeof global==`object`&&global&&global.Object===Object&&global,on=typeof self==`object`&&self&&self.Object===Object&&self,sn=an||on||Function(`return this`)(),Z=function(){return sn.Date.now()},cn=/\s/;function ln(e){for(var t=e.length;t--&&cn.test(e.charAt(t)););return t}var un=/^\s+/;function dn(e){return e&&e.slice(0,ln(e)+1).replace(un,``)}var Q=sn.Symbol,fn=Object.prototype,pn=fn.hasOwnProperty,mn=fn.toString,$=Q?Q.toStringTag:void 0;function hn(e){var t=pn.call(e,$),n=e[$];try{e[$]=void 0;var r=!0}catch{}var i=mn.call(e);return r&&(t?e[$]=n:delete e[$]),i}var gn=Object.prototype.toString;function _n(e){return gn.call(e)}var vn=`[object Null]`,yn=`[object Undefined]`,bn=Q?Q.toStringTag:void 0;function xn(e){return e==null?e===void 0?yn:vn:bn&&bn in Object(e)?hn(e):_n(e)}function Sn(e){return typeof e==`object`&&!!e}var Cn=`[object Symbol]`;function wn(e){return typeof e==`symbol`||Sn(e)&&xn(e)==Cn}var Tn=NaN,En=/^[-+]0x[0-9a-f]+$/i,Dn=/^0b[01]+$/i,On=/^0o[0-7]+$/i,kn=parseInt;function An(e){if(typeof e==`number`)return e;if(wn(e))return Tn;if(X(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=X(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=dn(e);var n=Dn.test(e);return n||On.test(e)?kn(e.slice(2),n?2:8):En.test(e)?Tn:+e}var jn=`Expected a function`,Mn=Math.max,Nn=Math.min;function Pn(e,t,n){var r,i,a,o,s,c,l=0,u=!1,d=!1,f=!0;if(typeof e!=`function`)throw TypeError(jn);t=An(t)||0,X(n)&&(u=!!n.leading,d=`maxWait`in n,a=d?Mn(An(n.maxWait)||0,t):a,f=`trailing`in n?!!n.trailing:f);function p(t){var n=r,a=i;return r=i=void 0,l=t,o=e.apply(a,n),o}function m(e){return l=e,s=setTimeout(_,t),u?p(e):o}function h(e){var n=e-c,r=e-l,i=t-n;return d?Nn(i,a-r):i}function g(e){var n=e-c,r=e-l;return c===void 0||n>=t||n<0||d&&r>=a}function _(){var e=Z();if(g(e))return v(e);s=setTimeout(_,h(e))}function v(e){return s=void 0,f&&r?p(e):(r=i=void 0,o)}function y(){s!==void 0&&clearTimeout(s),l=0,r=c=i=s=void 0}function b(){return s===void 0?o:v(Z())}function x(){var e=Z(),n=g(e);if(r=arguments,i=this,c=e,n){if(s===void 0)return m(c);if(d)return clearTimeout(s),s=setTimeout(_,t),p(c)}return s===void 0&&(s=setTimeout(_,t)),o}return x.cancel=y,x.flush=b,x}var Fn=class extends rn{debouncedRender;constructor(e,t=10){super(e),this.debouncedRender=Pn(()=>{super.render()},t,{leading:!0,trailing:!0})}addMarker(e,t){super.addMarker(e,!0),t||this.debouncedRender()}removeMarker(e,t){let n=super.removeMarker(e,!0);return t||this.debouncedRender(),n}addMarkers(e,t){super.addMarkers(e,!0),t||this.debouncedRender()}removeMarkers(e,t){let n=super.removeMarkers(e,!0);return t||this.debouncedRender(),n}clearMarkers(e){super.clearMarkers(!0),e||this.debouncedRender()}render(){this.debouncedRender.cancel(),super.render()}destroy(){this.debouncedRender.cancel(),this.debouncedRender=Object.assign(()=>{},{cancel:()=>{}})}},In=class extends Zt{calculate(e){return e.markers.length===0?{clusters:[],changed:!0}:super.calculate(e)}},Ln=Object.values(Y),Rn=(0,t.defineComponent)({name:`MarkerCluster`,props:{options:{type:Object,default:()=>({})},renderDebounceDelay:{type:Number,default:10}},emits:Ln,setup(e,{emit:n,expose:r,slots:i}){let a=(0,t.ref)(),o=(0,t.inject)(d,(0,t.ref)()),s=(0,t.inject)(f,(0,t.ref)());return(0,t.provide)(m,a),(0,t.watch)(o,()=>{o.value&&(a.value=(0,t.markRaw)(new Fn({map:o.value,algorithm:new In(e.options.algorithmOptions??{}),...e.options},e.renderDebounceDelay)),Ln.forEach(e=>{a.value?.addListener(e,t=>n(e,t))}))},{immediate:!0}),(0,t.onBeforeUnmount)(()=>{a.value&&(s.value?.event.clearInstanceListeners(a.value),a.value.clearMarkers(!0),a.value.setMap(null),a.value.destroy())}),r({markerCluster:a}),()=>i.default?.()}}),zn=(0,t.defineComponent)({inheritAttrs:!1,props:{options:{type:Object,required:!0}},setup(e,{slots:n,emit:r,expose:i}){let a=(0,t.ref)(),o=(0,t.computed)(()=>n.default?.().some(e=>e.type!==t.Comment)),s=O(h,[],(0,t.computed)(()=>({...e.options,element:a.value})),r);return i({customMarker:s}),{customMarkerRef:a,customMarker:s,hasSlotContent:o}}}),Bn={key:0,class:`custom-marker-wrapper`};function Vn(e,n,r,i,a,o){return e.hasSlotContent?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Bn,[(0,t.createElementVNode)(`div`,(0,t.mergeProps)({ref:`customMarkerRef`,style:{cursor:e.$attrs.onClick?`pointer`:void 0}},e.$attrs),[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)],16)])):(0,t.createCommentVNode)(`v-if`,!0)}var Hn=T(zn,[[`render`,Vn],[`__scopeId`,`data-v-90fe8380`]]),Un=(0,t.defineComponent)({name:`HeatmapLayer`,props:{options:{type:Object,default:()=>({})}},setup(e){let n=(0,t.ref)(),r=(0,t.inject)(d,(0,t.ref)()),i=(0,t.inject)(f,(0,t.ref)()),a;return(0,t.watch)([r,()=>e.options],([e,o],[s])=>{let c=!a||!(0,E.default)(o,a)||r.value!==s;if(r.value&&i.value&&c){let e;if(o.data&&!(o.data instanceof i.value.MVCArray)){let t=i.value.LatLng,n=o.data.map(e=>e instanceof t||`location`in e&&(e.location instanceof t||e.location===null)?e:`location`in e?{...e,location:new t(e.location)}:new t(e));e={...o,data:n}}else e=o;n.value?n.value.setOptions(e):n.value=(0,t.markRaw)(new i.value.visualization.HeatmapLayer({...e,map:r.value})),a=w(o)}},{immediate:!0,deep:!0}),(0,t.onBeforeUnmount)(()=>{n.value&&n.value.setMap(null)}),{heatmapLayer:n}},render:()=>null});e.AdvancedMarker=ye,e.Circle=ke,e.CustomControl=Ne,e.CustomMarker=Hn,e.GoogleMap=pe,e.HeatmapLayer=Un,e.InfoWindow=ze,e.Marker=Ce,e.MarkerCluster=Rn,e.Polygon=Te,e.Polyline=we,e.Rectangle=De,e.apiSymbol=f,e.mapSymbol=d,e.mapTilesLoadedSymbol=g});
|