{"version":3,"file":"loca-component.js","sources":["../../../../src/mixins/loca-component.ts"],"sourcesContent":["import {defineComponent} from \"vue\";\r\n\r\nexport default defineComponent({\r\n props: {\r\n sourceUrl: {\r\n type: String\r\n },\r\n sourceData: {\r\n type: Object\r\n },\r\n geoBufferSource: {\r\n type: [ArrayBuffer, String],\r\n default() {\r\n return null;\r\n }\r\n },\r\n layerStyle: {\r\n type: Object\r\n },\r\n defaultStyleValue: {\r\n type: Object,\r\n default() {\r\n return {};\r\n }\r\n },\r\n zooms: {\r\n type: Array\r\n },\r\n opacity: {\r\n type: Number\r\n },\r\n initEvents: {\r\n type: Boolean,\r\n default: true\r\n },\r\n visibleDuration: {\r\n type: Number,\r\n default: 0\r\n },\r\n onClick: {\r\n type: Function,\r\n default: null\r\n },\r\n onMousemove: {\r\n type: Function,\r\n default: null\r\n },\r\n onRightclick: {\r\n type: Function,\r\n default: null\r\n }\r\n },\r\n emits: ['mousemove', 'click', 'rightclick' ],\r\n data() {\r\n return {\r\n isDragging: false,\r\n isRotating: false\r\n };\r\n },\r\n methods: {\r\n setSource() {\r\n if (this.source) {\r\n this.source.destroy();\r\n this.source = null;\r\n }\r\n if (this.geoBufferSource) {\r\n if(typeof this.geoBufferSource === 'string'){\r\n this.source = new Loca.GeoBufferSource({\r\n url: this.geoBufferSource\r\n });\r\n }else{\r\n this.source = new Loca.GeoBufferSource({\r\n data: this.geoBufferSource\r\n });\r\n }\r\n }else if (this.sourceUrl) {\r\n this.source = new Loca.GeoJSONSource({\r\n url: this.sourceUrl\r\n });\r\n } else if (this.sourceData) {\r\n this.source = new Loca.GeoJSONSource({\r\n data: this.sourceData\r\n });\r\n } else {\r\n this.source = new Loca.GeoJSONSource({\r\n });\r\n }\r\n this.$amapComponent.setSource(this.source);\r\n },\r\n initComplete() {\r\n if (this.initEvents) {\r\n this.bindEvents();\r\n }\r\n },\r\n destroyComponent() {\r\n this.unBindEvents();\r\n if(!this.parentInstance.isDestroy){\r\n this.$parentComponent.remove(this.$amapComponent);\r\n this.$amapComponent.destroy();\r\n }\r\n if (this.source) {\r\n this.source.destroy();\r\n this.source = null;\r\n }\r\n this.$amapComponent = null;\r\n this.$parentComponent = null;\r\n },\r\n bindEvents() {\r\n if(this.parentInstance){\r\n const map = this.parentInstance.getMap();\r\n const $props = this.$props;\r\n if($props.onClick !== null){\r\n map.on('click', this.clickMap);\r\n }\r\n if($props.onMousemove !== null){\r\n map.on('mousemove', this.mouseMoveMap);\r\n map.on('dragstart', this.dragStart);\r\n map.on('dragend', this.dragEnd);\r\n map.on('rotatestart', this.rotateStart);\r\n map.on('rotateend', this.rotateEnd);\r\n map.on('mouseout', this.mouseoutMap)\r\n }\r\n if($props.onRightclick !== null){\r\n map.on('rightclick', this.rightclickMap);\r\n }\r\n }\r\n },\r\n clickMap(e) {\r\n const feature = this._getFeature(e);\r\n this.$emit('click', feature, e);\r\n },\r\n rightclickMap(e) {\r\n const feature = this._getFeature(e);\r\n this.$emit('rightclick', feature, e);\r\n },\r\n mouseMoveMap(e) {\r\n if(this.isDragging || this.isRotating){\r\n return;\r\n }\r\n const feature = this._getFeature(e);\r\n this.$emit('mousemove', feature, e);\r\n },\r\n _getFeature(e){\r\n return this.$amapComponent.queryFeature(e.pixel.toArray());\r\n },\r\n dragStart(){\r\n this.isDragging = true\r\n },\r\n dragEnd(){\r\n this.isDragging = false\r\n },\r\n mouseoutMap(){\r\n this.isDragging = false;\r\n this.isRotating = false;\r\n },\r\n rotateStart(){\r\n this.isRotating = true;\r\n },\r\n rotateEnd(){\r\n this.isRotating = false;\r\n },\r\n unBindEvents() {\r\n if(this.parentInstance){\r\n const map = this.parentInstance.getMap();\r\n map.off('click', this.clickMap);\r\n map.off('rightclick', this.rightclickMap);\r\n map.off('mousemove', this.mouseMoveMap);\r\n map.off('dragstart', this.dragStart);\r\n map.off('dragend', this.dragEnd);\r\n map.off('rotatestart', this.rotateStart);\r\n map.off('rotateend', this.rotateEnd);\r\n map.off('mouseout', this.mouseoutMap)\r\n }\r\n },\r\n __layerStyle(style) {\r\n this.$nextTick(() => {\r\n if (this.$amapComponent.setStyle) {\r\n this.$amapComponent.setStyle(style);\r\n }\r\n });\r\n },\r\n __sourceUrl(){\r\n this.$nextTick(() => {\r\n this.setSource();\r\n });\r\n },\r\n __sourceData(){\r\n this.$nextTick(() => {\r\n this.setSource();\r\n });\r\n },\r\n __geoBufferSource(){\r\n this.$nextTick(() => {\r\n this.setSource();\r\n });\r\n },\r\n __visible(flag) {\r\n if (this.$amapComponent.show && this.$amapComponent.hide) {\r\n flag === false ? this.$amapComponent.hide(this.visibleDuration) : this.$amapComponent.show(this.visibleDuration);\r\n }\r\n }\r\n }\r\n});\r\n"],"names":["defineComponent"],"mappings":"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"}