{"version":3,"sources":["webpack:///./src/components/Maps/GMap/Map.js","webpack:///./src/components/Maps/mapUtils.js"],"names":["provide","_this","getMap","map","props","center","type","Object","default","lat","lng","zoom","marks","Array","data","key","computed","url","concat","this","mounted","loadScript","loaded","methods","window","google","maps","Map","$el","$watch","setCenter","deep","load","_ref","position","LatLng","setZoom","render","h","$slots","src","cb","addSign","scripts","document","getElementsByTagName","i","length","indexOf","cbName","Date","getTime","$script","createElement","setAttribute","item","appendChild","Base","inject","instance","created","watch","val"],"mappings":"kHAAA,uBAIe,cACbA,QAAO,WAAG,IAAAC,EAAA,KACR,MAAO,CACLC,OAAQ,kBAAMD,EAAKE,OAGvBC,MAAO,CACLC,OAAQ,CACNC,KAAMC,OACNC,QAAS,WACP,MAAO,CACLC,IAAK,EACLC,IAAK,EACLC,KAAM,MAIZC,MAAOC,OAETC,KAAI,WACF,MAAO,CACLC,IAAK,0CACLZ,IAAK,OAGTa,SAAU,CACRC,IAAG,WACD,MAAO,yCAAPC,OAAgDC,KAAKJ,IAAG,8CAG5DK,QAAO,WACLC,eAAWF,KAAKF,IAAKE,KAAKG,SAE5BC,QAAS,CACPD,OAAM,WACJ,IAAInB,EAAM,IAAIqB,OAAOC,OAAOC,KAAKC,IAAIR,KAAKS,KAC1CT,KAAKhB,IAAMA,EACXgB,KAAKU,OAAO,SAAUV,KAAKW,UAAW,CACpCC,MAAM,IAERZ,KAAKW,UAAUX,KAAKd,SAEtB2B,KAAI,aAGJF,UAAS,SAAAG,GAIN,IAHDvB,EAAGuB,EAAHvB,IACAD,EAAGwB,EAAHxB,IACAE,EAAIsB,EAAJtB,KAEIuB,EAAW,IAAIV,OAAOC,OAAOC,KAAKS,OAAO1B,EAAKC,GAClDS,KAAKhB,IAAI2B,UAAUI,GACnBf,KAAKhB,IAAIiC,QAAQzB,KAGrB0B,OAAM,SAACC,GACL,OAAOA,EAAE,MAAO,GAAInB,KAAKoB,OAAO/B,Y,kCCnD7B,SAASa,EAAWmB,EAAKC,GAG9B,IAFA,IAAIC,GAAU,EACVC,EAAUC,SAASC,qBAAqB,UACnCC,EAAI,EAAGA,EAAIH,EAAQI,OAAQD,IAC9BH,EAAQG,IAAMH,EAAQG,GAAGN,MAAuC,GAAhCG,EAAQG,GAAGN,IAAIQ,QAAQR,KACzDE,GAAU,GAGd,GAAIA,EAAS,CACX,IAAIO,EAAS,MAAH/B,QAAS,IAAIgC,MAAOC,WAC9B3B,OAAOyB,GAAU,kBACRzB,OAAOyB,GACdR,KAEFD,EAAM,GAAHtB,OAAMsB,EAAG,cAAAtB,OAAa+B,GACzB,IAAIG,EAAUR,SAASS,cAAc,UACrCD,EAAQE,aAAa,OAAQ,mBAC7BF,EAAQE,aAAa,MAAOd,GAC5BY,EAAQE,aAAa,QAAS,IAC9BF,EAAQE,aAAa,QAAS,IAC9BV,SACGC,qBAAqB,QACrBU,KAAK,GACLC,YAAYJ,QAEfX,IAlCJ,oEAyCO,IAAMgB,EAAO,CAClBC,OAAQ,CAAC,UACT5C,KAAI,WACF,MAAO,CACL6C,SAAU,OAGd3C,SAAU,CACRb,IAAG,WACD,OAAOgB,KAAKjB,WAGhB0D,QAAO,WACDzC,KAAKhB,KACPgB,KAAKa,QAGT6B,MAAO,CACL1D,IAAG,SAAC2D,GACEA,GACF3C,KAAKa,SAIXT,QAAS,CACPS,KAAI","file":"js/chunk-145524da.9b8ff7f8.js","sourcesContent":["import {\n loadScript\n} from \"../mapUtils.js\";\n\nexport default {\n provide() {\n return {\n getMap: () => this.map\n };\n },\n props: {\n center: {\n type: Object,\n default: function () {\n return {\n lat: 0,\n lng: 0,\n zoom: 10\n };\n }\n },\n marks: Array\n },\n data() {\n return {\n key: \"AIzaSyBCuVCymbGkrc8euKouSkItwRdHzwlxZPk\",\n map: null\n };\n },\n computed: {\n url() {\n return `http://maps.google.cn/maps/api/js?key=${this.key}&language=CH®ion=CH&libraries=drawing`;\n }\n },\n mounted() {\n loadScript(this.url, this.loaded);\n },\n methods: {\n loaded() {\n var map = new window.google.maps.Map(this.$el); \n this.map = map; \n this.$watch(\"center\", this.setCenter, {\n deep: true\n });\n this.setCenter(this.center);\n },\n load(){\n \n },\n setCenter({\n lng,\n lat,\n zoom\n }) {\n var position = new window.google.maps.LatLng(lat, lng);\n this.map.setCenter(position);\n this.map.setZoom(zoom);\n }\n },\n render(h) {\n return h('div', {}, this.$slots.default)\n }\n};","export function removeScript(src) {\n var scripts = document.getElementsByTagName(\"script\");\n for (var i = 0; i < scripts.length; i++) {\n if (scripts[i] && scripts[i].src && scripts[i].src.indexOf(src) != -1) {\n scripts[i].parentNode.removeChild(scripts[i]);\n }\n }\n}\n\nexport function loadScript(src, cb) {\n var addSign = true;\n var scripts = document.getElementsByTagName(\"script\");\n for (var i = 0; i < scripts.length; i++) {\n if (scripts[i] && scripts[i].src && scripts[i].src.indexOf(src) != -1) {\n addSign = false;\n }\n }\n if (addSign) {\n let cbName = `cb_${new Date().getTime()}`;\n window[cbName] = function () {\n delete window[cbName];\n cb();\n };\n src = `${src}&callback=${cbName}`;\n var $script = document.createElement(\"script\");\n $script.setAttribute(\"type\", \"text/javascript\");\n $script.setAttribute(\"src\", src);\n $script.setAttribute(\"async\", '');\n $script.setAttribute(\"defer\", '');\n document\n .getElementsByTagName(\"head\")\n .item(0)\n .appendChild($script);\n } else {\n cb();\n }\n}\n\n/**\n * 地图组件基类\n */\nexport const Base = {\n inject: [\"getMap\"],\n data() {\n return {\n instance: null\n }\n },\n computed: {\n map() {\n return this.getMap();\n }\n },\n created() {\n if (this.map) {\n this.load();\n }\n },\n watch: {\n map(val) {\n if (val) {\n this.load();\n }\n }\n },\n methods: {\n load() {}\n }\n}"],"sourceRoot":""}