UNPKG

@dotsoftware/vue-google-maps-community-fork

Version:

Google Maps components for VueJS 3 maintained by the community

1 lines 13 kB
(function(){var e={963:function(e,t,o){var r=o(601),a=o(314),n=a(r);n.push([e.id,"\n.vue-map {\n width: 100%;\n height: 100%;\n min-height: 2rem;\n}\n",""]),e.exports=n},350:function(e,t,o){var r=o(963);r.__esModule&&(r=r.default),"string"===typeof r&&(r=[[e.id,r,""]]),r.locals&&(e.exports=r.locals);var a=o(534).A;a("b6eb6dde",r,!1,{})},53:function(e,t,o){"use strict";var r=(e,t,o)=>{for(let r of o){const o=`on${r.charAt(0).toUpperCase()}${r.slice(1)}`.replace(/[-_]+(.)?/g,((e,t)=>t?t.toUpperCase():""));(e.$props[o]||e.$attrs[o]||e.$gmapOptions.autobindAllEvents||e.$attrs[r])&&t.addListener(r,(t=>{e.$emit(r,t)}))}};function a(e,t,o,r=!1){let a=!1;function n(){a||(a=!0,e.$nextTick((()=>{a=!1,o()})))}for(let i of t)e.$watch(i,n,{immediate:r})}class n{static capitalizeFirstLetter(e){return e.charAt(0).toUpperCase()+e.slice(1)}}function i(e,t){return Object.keys(t).reduce(((t,o)=>(void 0!==e[o]&&(t[o]=e[o]),t)),{})}function s(e,t,o){for(let r in o){let{twoWay:i,type:s,trackProperties:c,noBind:p}=o[r];if(p)continue;const d="set"+n.capitalizeFirstLetter(r),u="get"+n.capitalizeFirstLetter(r),l=r.toLowerCase()+"_changed",h=e[r];if("undefined"===typeof t[d])throw new Error(`${d} is not a method of (the Maps object corresponding to) ${e.$options._componentTag}`);s===Object&&c?a(e,c.map((e=>`${r}.${e}`)),(()=>{t[d](e[r])}),void 0!==e[r]):e.$watch(r,(()=>{const o=e[r];t[d](o)}),{immediate:"undefined"!==typeof h,deep:s===Object}),i&&(e.$gmapOptions.autobindAllEvents||e.$attrs[l])&&t.addListener(l,(()=>{e.$emit(l,t[u]())}))}}var c={inject:{$mapPromise:{default:"abcdef"}},provide(){return this.$mapPromise.then((e=>{this.$map=e})),{}}};function p(e){const{mappedProps:t,name:o,ctr:a,ctrArgs:n,events:p,beforeCreate:l,afterCreate:h,props:m,...f}=e,y=`$${o}Promise`,b=`$${o}Object`;return d(!(f.props instanceof Array),"`props` should be an object, not Array"),{..."undefined"!==typeof GENERATE_DOC?{$vgmOptions:e}:{},mixins:[c],props:{...m,...u(t)},render(){return""},provide(){const e=this.$mapPromise.then((e=>{this.$map=e;const o={...this.options,map:e,...i(this,t)};if(delete o.options,l){const e=l.bind(this)(o);if(e instanceof Promise)return e.then((()=>({options:o})))}return{options:o}})).then((({options:e})=>{const o=a();return this[b]=n?new(Function.prototype.bind.call(o,null,...n(e,i(this,m||{})))):new o(e),s(this,this[b],t),r(this,this[b],p),h&&h.bind(this)(this[b]),this[b]}));return this[y]=e,{[y]:e}},unmounted(){this[b]&&this[b].setMap&&this[b].setMap(null)},...f}}function d(e,t){if(!e)throw new Error(t)}function u(e){return Object.entries(e).map((([e,t])=>{const o={};return"type"in t&&(o.type=t.type),"default"in t&&(o.default=t.default),"required"in t&&(o.required=t.required),[e,o]})).reduce(((e,[t,o])=>(e[t]=o,e)),{})}const l={draggable:{type:Boolean},editable:{type:Boolean},options:{twoWay:!1,type:Object},path:{type:Array,twoWay:!0}},h=["click","dblclick","drag","dragend","dragstart","mousedown","mousemove","mouseout","mouseover","mouseup","rightclick"];p({mappedProps:l,props:{deepWatch:{type:Boolean,default:!1}},events:h,name:"polyline",ctr:()=>google.maps.Polyline,emits:h,afterCreate(e){let t=()=>{};h.forEach((t=>{e.addListener(t,(e=>{this.$emit(t,e)}))})),this.$watch("path",(e=>{if(e){t(),this.$polylineObject.setPath(e);const o=this.$polylineObject.getPath(),r=[],a=()=>{this.$emit("path_changed",this.$polylineObject.getPath())};r.push([o,o.addListener("insert_at",a)]),r.push([o,o.addListener("remove_at",a)]),r.push([o,o.addListener("set_at",a)]),t=()=>{r.map((([e,t])=>google.maps.event.removeListener(t)))}}}),{deep:this.deepWatch,immediate:!0})}});const m={draggable:{type:Boolean},editable:{type:Boolean},options:{type:Object},path:{type:Array,twoWay:!0,noBind:!0},paths:{type:Array,twoWay:!0,noBind:!0}},f=["click","dblclick","drag","dragend","dragstart","mousedown","mousemove","mouseout","mouseover","mouseup","rightclick","paths_changed"];p({props:{deepWatch:{type:Boolean,default:!1}},events:f,mappedProps:m,name:"polygon",ctr:()=>google.maps.Polygon,emits:f,beforeCreate(e){e.path||delete e.path,e.paths||delete e.paths},afterCreate(e){let t=()=>{};f.forEach((t=>{e.addListener(t,(e=>{this.$emit(t,e)}))})),this.$watch("paths",(o=>{if(o){t(),e.setPaths(o);const r=()=>{this.$emit("paths_changed",e.getPaths())},a=[],n=e.getPaths();for(let e=0;e<n.getLength();e++){let t=n.getAt(e);a.push([t,t.addListener("insert_at",r)]),a.push([t,t.addListener("remove_at",r)]),a.push([t,t.addListener("set_at",r)])}a.push([n,n.addListener("insert_at",r)]),a.push([n,n.addListener("remove_at",r)]),a.push([n,n.addListener("set_at",r)]),t=()=>{a.map((([e,t])=>google.maps.event.removeListener(t)))}}}),{deep:this.deepWatch,immediate:!0}),this.$watch("path",(o=>{if(o){t(),e.setPaths(o);const r=e.getPath(),a=[],n=()=>{this.$emit("path_changed",e.getPath())};a.push([r,r.addListener("insert_at",n)]),a.push([r,r.addListener("remove_at",n)]),a.push([r,r.addListener("set_at",n)]),t=()=>{a.map((([e,t])=>google.maps.event.removeListener(t)))}}}),{deep:this.deepWatch,immediate:!0})}});const y={center:{type:Object,twoWay:!0,required:!0},radius:{type:Number,twoWay:!0},draggable:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},options:{type:Object,twoWay:!1}},b=["click","dblclick","drag","dragend","dragstart","mousedown","mousemove","mouseout","mouseover","mouseup","rightclick"];p({mappedProps:y,name:"circle",ctr:()=>google.maps.Circle,events:b,emits:b,afterCreate(e){b.forEach((t=>{e.addListener(t,(e=>{this.$emit(t,e)}))}))}});const g={bounds:{type:Object,twoWay:!0},draggable:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},options:{type:Object,twoWay:!1}},$=["click","dblclick","drag","dragend","dragstart","mousedown","mousemove","mouseout","mouseover","mouseup","rightclick"];p({mappedProps:g,name:"rectangle",ctr:()=>google.maps.Rectangle,events:$,emits:$,afterCreate(e){$.forEach((t=>{e.addListener(t,(e=>{this.$emit(t,e)}))}))}}),o(915);const w={animation:{twoWay:!0,type:Number},attribution:{type:Object},clickable:{type:Boolean,twoWay:!0,default:!0},cursor:{type:String,twoWay:!0},draggable:{type:Boolean,twoWay:!0,default:!1},icon:{twoWay:!0},label:{},opacity:{type:Number,default:1},options:{type:Object},place:{type:Object},position:{type:Object,twoWay:!0},shape:{type:Object,twoWay:!0},title:{type:String,twoWay:!0},zIndex:{type:Number,twoWay:!0},visible:{twoWay:!0,default:!0}},v=["click","rightclick","dblclick","drag","dragstart","dragend","mouseup","mousedown","mouseover","mouseout"];p({mappedProps:w,events:v,name:"marker",ctr:()=>google.maps.Marker,inject:{$clusterPromise:{default:null}},emits:v,unmounted(){this.$markerObject&&(this.$clusterObject?this.$clusterObject.removeMarker(this.$markerObject,!0):this.$markerObject.setMap(null))},beforeCreate(e){return this.$clusterPromise&&(e.map=null),this.$clusterPromise},afterCreate(e){v.forEach((t=>{e.addListener(t,(e=>{this.$emit(t,e)}))})),this.$clusterPromise&&this.$clusterPromise.then((t=>{this.$clusterObject=t,t.addMarker(e)}))}}),o(262);var O=o(545);const j={algorithm:{type:Object,default:new O.t9({}),noBind:!0},renderer:{type:Object,default:new O.Fi,noBind:!0}},k=["clusteringbegin","clusteringend"];p({mappedProps:j,events:k,name:"cluster",ctr:()=>{if("undefined"===typeof O.w1){const e="MarkerClusterer is not installed!";throw console.error(e),new Error(e)}return O.w1},ctrArgs:({map:e,...t})=>[{map:e,...t}],afterCreate(e){const t=()=>{const t=e.getMarkers();e.clearMarkers(),e.addMarkers(t)};for(let o in j)j[o].twoWay&&this.$on(o.toLowerCase()+"_changed",t)},updated(){this.$clusterObject&&this.$clusterObject.render()},beforeUnmount(){this.$children&&this.$children.length&&this.$children.forEach((e=>{e.$clusterObject===this.$clusterObject&&(e.$clusterObject=null)})),this.$clusterObject&&this.$clusterObject.clearMarkers()}});const _={options:{type:Object,required:!1,default(){return{}}},position:{type:Object,twoWay:!0},zIndex:{type:Number,twoWay:!0}},W=["domready","click","closeclick","content_changed"];p({mappedProps:_,events:W,name:"infoWindow",ctr:()=>google.maps.InfoWindow,props:{opened:{type:Boolean,default:!0}},inject:{$markerPromise:{default:null}},mounted(){const e=this.$refs.infoWindow;e.parentNode.removeChild(e)},beforeCreate(e){if(e.content=this.$refs.infoWindow,this.$markerPromise)return delete e.position,this.$markerPromise.then((e=>(this.$markerObject=e,e)))},emits:["closeclick"],methods:{_openInfoWindow(){this.$infoWindowObject.close(),this.opened&&this.$infoWindowObject.open(this.$map,this.$markerObject)}},afterCreate(){this._openInfoWindow(),this.$infoWindowObject.addListener("closeclick",(()=>{this.$emit("closeclick"),this.$infoWindowObject.open(this.$map,this.$markerObject)})),this.$watch("opened",(()=>{this._openInfoWindow()}))}});o(33);var B={props:["resizeBus"],data(){return{_actualResizeBus:null}},created(){"undefined"===typeof this.resizeBus?this.$data._actualResizeBus=this.$gmapDefaultResizeBus:this.$data._actualResizeBus=this.resizeBus},methods:{_resizeCallback(){this.resize()},isFunction(e){return e&&"[object Function]"==={}.toString.call(e)},_delayedResizeCallback(){this.$nextTick((()=>this._resizeCallback()))}},watch:{resizeBus(e){this.$data._actualResizeBus=e},"$data._actualResizeBus"(e,t){t&&t.$off("resize",this._delayedResizeCallback)}},unmounted(){this.$data._actualResizeBus&&this.isFunction(this.$data._actualResizeBus.$off)&&this.$data._actualResizeBus.$off("resize",this._delayedResizeCallback)}};function P(e){let t=0;e((()=>{t+=1}),(()=>{t=Math.max(0,t-1)}),(()=>0===t))}const C={center:{default:{lat:0,lng:0},twoWay:!0,type:Object,noBind:!0},zoom:{required:!1,twoWay:!0,type:Number,noBind:!0},maxZoom:{required:!1,twoWay:!0,type:Number,noBind:!0},minZoom:{required:!1,twoWay:!0,type:Number,noBind:!0},heading:{type:Number,twoWay:!0},mapTypeId:{twoWay:!0,type:String},tilt:{twoWay:!0,type:Number},options:{type:Object,default(){return{}}}},z=["bounds_changed","click","dblclick","drag","dragend","dragstart","idle","mousemove","mouseout","mouseover","resize","rightclick","tilesloaded"],L=["panBy","panTo","panToBounds","fitBounds"].reduce(((e,t)=>(e[t]=function(){this.$mapObject&&this.$mapObject[t].apply(this.$mapObject,arguments)},e)),{}),E={resize(){this.$mapObject&&google.maps.event.trigger(this.$mapObject,"resize")},resizePreserveCenter(){if(!this.$mapObject)return;const e=this.$mapObject.getCenter();google.maps.event.trigger(this.$mapObject,"resize"),this.$mapObject.setCenter(e)},_resizeCallback(){this.resizePreserveCenter()}};u({...C,...z.reduce(((e,t)=>({...e,[`on${t.charAt(0).toUpperCase()}${t.slice(1)}`.replace(/[-_]+(.)?/g,((e,t)=>t?t.toUpperCase():""))]:Function})),{})}),o(350);const A={options:{type:Object,twoWay:!1,default:()=>{}},data:{type:Array,twoWay:!0}},M=[];p({mappedProps:A,name:"heatmap",ctr:()=>google.maps.visualization.HeatmapLayer,events:M});var R=e=>{const t=e.addEventListener?e.addEventListener:e.attachEvent;function o(o,r){if("keydown"===o){const t=r;r=function(o){const r=document.getElementsByClassName("pac-item-selected").length>0;if(13===o.which&&!r){const o=document.createEvent("Event");o.keyCode=40,o.which=40,t.apply(e,[o])}t.apply(e,[o])}}t.apply(e,[o,r])}e.addEventListener=o,e.attachEvent=o};const x={bounds:{type:Object},componentRestrictions:{type:Object},types:{type:Array,default:()=>[]}},N={selectFirstOnEnter:{required:!1,type:Boolean,default:!1},options:{type:Object}};u(x)}},t={};function o(r){var a=t[r];if(void 0!==a)return a.exports;var n=t[r]={id:r,exports:{}};return e[r](n,n.exports,o),n.exports}o.m=e,function(){var e=[];o.O=function(t,r,a,n){if(!r){var i=1/0;for(d=0;d<e.length;d++){r=e[d][0],a=e[d][1],n=e[d][2];for(var s=!0,c=0;c<r.length;c++)(!1&n||i>=n)&&Object.keys(o.O).every((function(e){return o.O[e](r[c])}))?r.splice(c--,1):(s=!1,n<i&&(i=n));if(s){e.splice(d--,1);var p=a();void 0!==p&&(t=p)}}return t}n=n||0;for(var d=e.length;d>0&&e[d-1][2]>n;d--)e[d]=e[d-1];e[d]=[r,a,n]}}(),function(){o.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return o.d(t,{a:t}),t}}(),function(){o.d=function(e,t){for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}}(),function(){o.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={524:0};o.O.j=function(t){return 0===e[t]};var t=function(t,r){var a,n,i=r[0],s=r[1],c=r[2],p=0;if(i.some((function(t){return 0!==e[t]}))){for(a in s)o.o(s,a)&&(o.m[a]=s[a]);if(c)var d=c(o)}for(t&&t(r);p<i.length;p++)n=i[p],o.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return o.O(d)},r=self["webpackChunk_dotsoftware_vue_google_maps_community_fork"]=self["webpackChunk_dotsoftware_vue_google_maps_community_fork"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))}();var r=o.O(void 0,[504],(function(){return o(53)}));r=o.O(r)})();