<template>
	<view style="position: relative;">
		<addressSelector @closeFooterScroll='closeFooterScroll' ref='addressSelector'
			@mapEventListeners='mapEventListeners' :polyline="polyline" :Route="Route" />
		<footerBar ref='footerBar' :spareMapScale='spareMapScale' @reset='reset' v-model="radius" @upScale='upScale'
			:mapScale='mapScale' :details='details' />
		<view @touchmove='touchmove' class="map_body">
			<map :circles='circles' @regionchange='regionchange' @tap='poitap' @updated='mapUpdated' :scale='mapScale'
				@callouttap='callouttap' :enable-scroll='enableScroll' @markertap='markertap' :polyline="polyline"
				subkey="YR3BZ-EWX3M-JFW6U-6TREG-FXFJH-CMFWY" layer-style='2' id="map_Id" :show-location="true"
				:markers="markers" class="map_xx" :latitude="coordinate.latitude" :longitude="coordinate.longitude">
				<cover-view v-if="circles[0].radius!==0" class="coverimage"
					:style="{width:`${img.width}rpx`,height:`${img.height}rpx`}">
					<cover-image :style="{width: `${img.width}rpx` ,height:`${img.height}rpx`}"
						src="../../static/img/change_xy.png"></cover-image>
				</cover-view>
				<!-- <cover-view slot="callout">
					<cover-view  v-for="(item,index) in markers" :key='index' class="customCallout" :marker-id="item.id">
						<cover-image style="width: 150rpx;height: 78rpx;position: absolute;" :src="item.imgCustomCallout">
						</cover-image>
						<cover-view class="customCallout_text">{{Number(item.price).toFixed(2)||2}}</cover-view>
					</cover-view>
				</cover-view> -->
			</map>
		</view>
	</view>
</template>
<script>
	import amapFile from '@/utils/qqmap-wx-jssdk.js'
	import oilSiteApi from '@/api/oil-site.js'
	import addressSelector from './components/addressSelector.vue'
	import footerBar from './components/footer.vue'
	/*
    全站地图组件:顶部筛选框 (addressSelector),中间地图 ( map ),底部控制器(footerBar);
	为了计算距离新开了一个子线程 : @property {Function} worker ;
	map地图的事件及控件:
	{
		circles:圆，默认当前视野中心点  监听手势缩放视野范围变动完成之后,判断当前缩放比例是否大于9, 大于9，园置空并移动视野时停止计算距离，小于保留并获取屏幕中心点移动
		amapFile:腾讯地图sdk,
		subkey:腾讯地图个性地图 key,
		layer-style:个性地图样式,
		@regionchange:视野变动事件,
		@markertap:点击点事件
	}
 */
	export default {
		/*
		 * @property {Object}	
		 * @property {Object}	
		 * @property {Object}	
		 * @property {Array}	
		 * @property {Function}	
		 * @property {Function}	
		 */
		components: {
			addressSelector,
			footerBar
		},
		data() {
			return {
				img: {
					width: 40,
					height: 50
				},
				radius: 5000,
				LastCoordinate: [],
				timer: null,
				TXSDK: null,
				polyline: [],
				circles: [],
				//路线规划 起点终点数据 //起点默认是我的位置
				Route: {
					start: {
						longitude: '',
						latitude: '',
						title: ''
					},
					end: {
						longitude: '',
						latitude: '',
						title: ''
					}

				},
				myCoordinate: {
					longitude: '',
					latitude: '',
				},
				enableScroll: true,
				coordinate: {
					longitude: '',
					latitude: '',
					title: '我的位置'
				},
				markers: [],
				mapContext: null,
				details: null,
				spareMarkers: [],
				selePrice: null,
				mapScale: 9,
				spareMapScale: 9
			}
		},
		onLoad(e) {
			uni.getSystemInfo({
				success(e) {
					console.log('设备信息', e)
				}
			})
			this.initFn();
			// this.newMapMoveToLocation(this.circles[0].longitude,this.circles[0].latitude)
		},
		created() {
			// UTXBZ-BUH6D-TQD44-HCEG4-UKOFT-U2BDN
			this.TXSDK = new amapFile({
				key: 'YR3BZ-EWX3M-JFW6U-6TREG-FXFJH-CMFWY'
			});
		},
		watch: {
			mapScale: function(n, o) {
				if (n < 7) {
					setTimeout(() => {
						this.colseMarks()
					}, 500)
				} else if (n >= 7) {
					setTimeout(() => {
						this.circles[0].radius = this.radius;
						this.touchend();
						this.woerks({
							msg: 'distance',
							coordinate: {
								latitude: this.coordinate.latitude,
								longitude: this.coordinate.longitude
							},
							radius: this.radius,
							markes: this.markers
						});
					}, 500)
				}
			},
			radius: function(n, o) {
				if (this.circles[0].radius == 0) {
					uni.showToast({
						title: '请打开区域图',
						icon: 'none'
					})
					return
				}
				this.circles[0].radius = n;
				this.touchend()
			},
		},
		methods: {
			reset() {
				// if(this.mapScale<7){
				// 	return
				// }
				this.coordinate.latitude = this.myCoordinate.latitude,
					this.coordinate.longitude = this.myCoordinate.longitude,
					this.newMapMoveToLocation(this.myCoordinate.longitude, this.myCoordinate.latitude);
				setTimeout(() => {
					this.touchend();
				}, 1000)
			},
			closeLable() {
				this.markers.forEach((item, index) => {
					item.callout.display = 'BYCLICK'
				})
			},
			openLable() {
				this.markers.forEach((item, index) => {
					item.callout.display = 'ALWAYS'
				})
			},
			getRegion() {
				if (this.timer) {
					clearTimeout(this.timer);
				}
				this.timer = setTimeout(() => {
					// this.mapScale==9?this.openLable():this.closeLable()
				}, 500);
			},
			upScale() {
				let that = this;
				that.mapScale = that.mapScale >= 9 ? 3 : 9;
				// that.spareMarkers = that.mapScale;
				// this.mapContext.getScale({
				// 	success:function(e){
				// 		setTimeout(()=>{
				// 			that.mapScale = e.scale;
				// 			setTimeout(()=>{
				// 				that.mapScale =  that.mapScale>=9?3:9;
				// 			},0)
				// 		},0)
				// 	}
				// })
			},
			colseMarks() {
				this.LastCoordinate.forEach((item) => {
					this.markers[item].callout.display = 'BYCLICK'
				});
			},
			closeFooterScroll() {
				// this.$refs.footerScroll.screenClose();  /oilSiteInfo/getSiteByGeoHashNewA
				// this.$refs.footerScroll.mapIconClose();
			},
			getMarks() {
				oilSiteApi.wholeStationMap({
					oilProductCode: "",
					siteChannel: ""
				}).then(res => {
					// let list = this.locationProcessing(res.data);
					// list.length = 100;
					this.markers = this.locationProcessing(res.data);
					this.spareMarkers = JSON.parse(JSON.stringify(this.markers));
					// console.log(this.spareMarkers, '////////////////////////')
					// markersArray.forEach((item,index)=>{

					// })
					// for (let i=0;i<parseInt(list.length/300);i++) {

					// 	setTimeout(()=>{
					// 		this.markers = this.markers.concat(this.asynchronousLoading(i*300,list))
					// 		console.log(i,'********')
					// 	},i*5000)
					// }
					// this.markers = this.markers.concat(this.asynchronousLoading(0,markersArray))
					// console.log(this.markers.length,'////////')
					// console.log(this.locationProcessing(res.data), '********')
				})
			},
			asynchronousLoading(index, array) {
				return array.slice(index, index + 300)
			},
			onChange(e) {
				console.log(3)
			},
			//监听地图移动中
			touchmove() {
				// let that = this
				// console.log(2);
				// this.mapContext.getCenterLocation({
				// 	success: function(e) {
				// 		// that.circles[0].longitude = e.longitude;
				// 		// that.circles[0].latitude = e.latitude;
				// 		// that.markers.forEach(item => {
				// 		// 	let juli = that.getDistance(that.coordinate.latitude, that
				// 		// 		.coordinate.longitude, item.latitude, item.longitude)
				// 		// 	if (juli < 1000) {
				// 		// 		item.callout.display = 'ALWAYS'
				// 		// 		console.log('小于1000米', item, juli)
				// 		// 	} else {
				// 		// 		item.callout.display = 'BYCLICK'
				// 		// 	}
				// 		// })
				// 	}
				// })
			},
			//监听拖动结束 获取地图中心点计算所有点距离屏幕中心点的位置符合条件 显示气泡
			touchend() {
				let that = this
				this.mapContext.getCenterLocation({
					success: function(e) {
						console.log('拖动结束')
						if (that.circles[0].radius == 0) {
							return
						};
						that.circles[0].longitude = e.longitude;
						that.circles[0].latitude = e.latitude;
						that.woerks({
							msg: 'distance',
							coordinate: {
								latitude: e.latitude,
								longitude: e.longitude
							},
							markes: that.markers,
							radius: that.radius
						});
					}
				})

			},
			//开启线程
			woerks(e) {
				let that = this
				let worker = wx.createWorker('static/workers/request/index.js', {
					useExperimentalWorker: true
				}) // 文件名指定 worker 的入口文件路径，绝对路径
				try {
					worker.onMessage(function(res) {
						that.LastCoordinate.forEach((item) => {
							if (res.msg.includes(item)) return;
							if (that.markers[item]) {
								that.markers[item].callout.display = 'BYCLICK'
							}
						});
						res.msg.forEach((item) => {
							that.markers[item].callout.display = 'ALWAYS'
						});
						that.LastCoordinate = res.msg;
						worker.terminate()
					});
					// 监听worker被系统回收事件
					worker.onProcessKilled(function() {
						console.log('系统回收')
						// 重新创建一个worker
						// wx.createWorker()
					});
					worker.postMessage({
						msg: e,
					})
				} catch (e) {
					console.log(e, '******************')
					//  uni.showToast({
					//  	title:'********',
					// icon:'none'
					//  });
					// this.woerks();
					//TODO handle the exception
				}

			},
			//视野变化监听
			regionchange(e) {
				let that = this;
				//如果变化结束并是手势,获取当前缩放比例 赋值
				if (e.type == 'end') {
					this.mapContext.getScale({
						success: function(es) {
							that.spareMapScale = es.scale;
							if (e.causedBy == 'scale') {
								if (es.scale < 7) {
									that.circles[0].radius = 0;
									that.colseMarks();
								}
								if (that.circles[0].radius == 0 && es.scale >= 7) {
									that.circles[0].radius = that.radius;
									that.touchend()
								}
							}
							if (e.causedBy == "update") {
								if (es.scale < 7) {
									that.circles[0].radius = 0;
									that.colseMarks()
								}
								if (that.circles[0].radius == 0 && es.scale >= 7) {
									that.circles[0].radius = that.radius;
									that.touchend()
								}
							}
							if (e.causedBy == "drag") {
								that.touchend()
							}
						},

					})

				}
				// else{
				// 	that.coordinate.latitude = e.latitude;
				// 	that.coordinate.longitude = e.longitude;
				// }
				console.log(e, '视野变化')
			},
			mapUpdated(e) {
				let that = this
				// console.log('%c 更新', 'font-size:50px;color:red');
				// console.log(e, '*****************************************')
				// that.mapContext.getScale({
				// 	success: function(e) {
				// 		// that.$nextTick(function() {
				// 		// 	if (points && points.length == 1) {
				// 		// 		setTimeout(()=>{
				// 		// 		},1000)
				// 		// 	}
				// 		// 	console.log(that.mapScale)
				// 		// })
				// 		// setTimeout(()=>{
				// 		// that.mapScale = e.scale
				// 		// },500)
				// 		console.log(e, '当前缩放比例')
				// 	}
				// })
			},
			//初始化方法
			initFn() {
				let that = this
				this.mapContext = uni.createMapContext("map_Id", this);
				this.getCurrentLocation();
				this.UpdateAddress();
				this.getMarks();
				setTimeout(() => {
					if (this.markers.length !== 0 && this.Route.start.latitude !== '') {
						that.woerks({
							msg: 'distance',
							coordinate: {
								latitude: that.coordinate.latitude,
								longitude: that.coordinate.longitude
							},
							radius: that.radius,
							markes: that.markers
						});
					}
				}, 1000)
			},
			//地图更新事件监听 分发事件 
			async mapEventListeners(e) {
				switch (e) {
					case 'updateRoute':
						this.mapRoutePlanning(arguments[1] ? arguments[1] : this.Route.start, arguments[2] ? arguments[
							2] : this.Route.end, arguments[3] ? arguments[3] : 'LEAST_TIME')
						break;
					case 'UpdateLocation':
						this.UpdateLocation(arguments[1], arguments[2])
						break;
					case 'cardPlanning':
						this.Route = arguments[1]
						this.mapRoutePlanning()
						break;
					case 'details':
						this.details = {};
						let d = arguments[1]
						this.$nextTick(function() {
							this.details = d
							this.newMapMoveToLocation(this.details.longitude, this.details.latitude)
						})
						break;
					case 'apiScreen':
						//接口更新站点 
						console.log('接口筛选')
						let {
							oilProductCode, siteChannel
						} = arguments[1];
						let markerList = await this.mapUpdateMarkers(oilProductCode, siteChannel);
						//处理站点数据回显
						this.spareMarkers = this.locationProcessing(markerList);
						this.filterMarkers(JSON.parse(JSON.stringify(this.spareMarkers)), this.$refs.addressSelector
							.datassFn());
						break;
					case 'localScreen':
						// 手动筛选 备份下数据
						console.log(this.spareMarkers, '手动筛选')
						let markers = JSON.parse(JSON.stringify(this.spareMarkers));
						let filterData = this.$refs.addressSelector.datassFn()
						this.filterMarkers(markers, filterData)
						break;
					case 'MoveToLocation':
						arguments[1] ? (this.newMapMoveToLocation(this.Route.start.longitude, this.Route.start
							.latitude)) : (this.zoomRoutePlanning());
						// arguments[1] ? (this.zoomRoutePlanning([this.Route.start])) : (this.zoomRoutePlanning());
						break;

				}
			},
			// 更新路线规划
			async mapRoutePlanning(start = this.Route.start, end = this.Route.end, strategy = 'LEAST_TIME') {
				// 获取路径
				let res = await this.getMapRoutePlanning(start, end, strategy);
				//处理数据
				this.RoutePlanningHandle(res);
				//缩放显示所有经纬度
				this.zoomRoutePlanning();
				// 获取筛选数据 更新油站站点
				let {
					oilProductCode,
					juLi,
					siteChannel
				} = this.$refs.addressSelector.datassFn();
				let markerList = await this.mapUpdateMarkers(this.polyline[0].points, oilProductCode, juLi,
					siteChannel);
				console.log(markerList, '-*-*更新油站站点*-')
				//处理油站站点数据并显示
				this.spareMarkers = this.locationProcessing(markerList);
				let markers = JSON.parse(JSON.stringify(this.spareMarkers));
				let filterData = Object.assign(this.$refs.addressSelector.datassFn(), this.$refs.footerScroll
					.filter());
				this.filterMarkers(markers, filterData);
			},
			// 更新最近搜索
			UpdateLocation(Route, type) {
				let recentSearch = uni.getStorageSync('recentSearch') || [];
				let data = {
					...Route,
					type: type,
					id: `${Route.start.latitude}${Route.start.longitude}${Route.end.latitude}${Route.end.longitude}`
				};
				let key = recentSearch.filter(item => item.id);
				if (!key.includes('e.id')) {
					console.log('没有重复')
					recentSearch.length !== 0 ? recentSearch[0].type == 'lately' ? recentSearch.splice(0, 1, data) :
						recentSearch.unshift(data) : recentSearch.push(data);
					uni.setStorageSync('recentSearch', recentSearch);
				}

			},
			//监听更新位置事件
			UpdateAddress() {
				let that = this
				uni.$on('UpdateAddress', function(region, type) {
					console.log(`%c ${(type=='start'?'起点更新':'终点更新')} 地址→ ${region.title}`,
						'color:red;font-size:50px')
					that.Route[type].longitude = region.location.lng;
					that.Route[type].latitude = region.location.lat;
					that.Route[type].title = region.title;
					setTimeout(() => {
						that.coordinate.latitude = that.Route.start.latitude;
						that.coordinate.longitude = that.Route.start.longitude;
						that.newMapMoveToLocation(that.Route.start.longitude, that.Route.start.latitude);
						if (that.mapScale < 9) {
							that.mapScale = 9
							// that.spareMarkers = that.mapScale
						};
						that.$nextTick(function() {
							that.touchend()
						})
					}, 500)
				})
			},
			openMapApp() {
				console.log(this.details, '导航')
				let that = this
				wx.openLocation({
					latitude: that.details.latitude, // 纬度
					longitude: that.details.longitude, // 经度
					name: that.details.siteName, // 地址名称
					address: that.details.siteName, // 详细地址
					success: function(r) {
						console.log(r)
					},
					fail: function(res) {
						console.log('拉起失败啦', res)
					}
				})
			},
			//获取路线规划
			getMapRoutePlanning(start, end, strategy = 'LEAST_TIME') {
				console.log('获取路线规划', start, end, )
				var _this = this;
				return new Promise(function(res, rej) {
					_this.TXSDK.direction({
						sig: 'mOPvEv4WmyaxymycTYy00pSiad2jnQil',
						mode: 'driving',
						from: start,
						to: end,
						policy: strategy,
						success: function(e) {
							console.log('获取路线规划成功')
							res(e)
						},
						fail(e) {
							rej(e)
							console.log('获取路线规划失败', e)
						}
					})
				})
			},
			//获取到的路线规划数据进行处理
			RoutePlanningHandle(res) {
				var _this = this;
				var ret = res;
				var coors = ret.result.routes[0].polyline,
					pl = [];
				//坐标解压（返回的点串坐标，通过前向差分进行压缩）
				var kr = 1000000;
				for (var i = 2; i < coors.length; i++) {
					coors[i] = Number(coors[i - 2]) + Number(coors[i]) / kr;
				}
				//将解压后的坐标放入点串数组pl中
				for (var i = 0; i < coors.length; i += 2) {
					pl.push({
						latitude: coors[i],
						longitude: coors[i + 1],
						lat: coors[i],
						lon: coors[i + 1]
					})
				}
				//设置polyline属性，将路线显示出来,将解压坐标第一个数据作为起点
				_this.polyline = [{
					points: pl,
					color: '#FF6700',
					width: 4
				}]
			},
			/*  缩放路线规划 includePoints方法  points:经纬度数组  padding:边距  参考 https://uniapp.dcloud.io/api/location/map?id=cdreatemapcontext  */
			zoomRoutePlanning(points, padding) {
				let that = this
				try {
					let paddingTop = this.$refs.addressSelector.getElement();
					console.log(this.$refs.addressSelector.getElement(), '高度')
					this.mapContext.includePoints({
						points: points ? points : that.polyline[0].points,
						padding: padding ? padding : [paddingTop + 40, 105, 75, 10],
						// padding: padding ? padding : [50, 10, 50, 10],
						success: function(e) {
							console.log('-----------')
						}
					})

				} catch (e) {
					uni.showToast({
						title: e,
						icon: 'none'
					})
					//TODO handle the exception
				}
			},
			// 点击地图
			poitap() {
				this.enableScroll = true;
				this.$refs.addressSelector.menuList.forEach(item => item.SublistOpen = false);
				this.$refs.footerBar.close();
				this.details = null;
			},
			//更新markers点
			async mapUpdateMarkers(oilProductCode, siteChannel) {
				let data = {
					oilProductCode: oilProductCode ? oilProductCode : '0#',
					siteChannel: siteChannel,

				}
				let taht = this;
				console.log(data, '查询参数')
				return new Promise(function(re, rj) {
					oilSiteApi.wholeStationMap(data).then(markerList => {
						if (markerList.code !== 20000) {
							setTimeout(() => {
								uni.showToast({
									title: 'Error' + markerList.code + markerList.msg,
									icon: 'none'
								})
							}, 500)
							rj(markerList.code + markerList.msg)
							return
						}
						// if (markerList.data.length == 0) {
						// 	setTimeout(() => {
						// 		uni.showToast({
						// 			title: '暂无油站信息' + markerList.data.length,
						// 			icon: 'none'
						// 		})
						// 	}, 500)
						// 	rj('暂无油站信息' + markerList.data.length)
						// 	return
						// }
						console.log(markerList.data, '返回的点')
						re(markerList.data)
					})
				})
			},
			//定位处理
			locationProcessing(markerList) {
				let that = this
				// markerList.length = 100
				console.log(markerList, '----')
				markerList.forEach((item, index) => {
					let configure = {
						siteId: item.id,
						id: Number(`${index}`),
						imgCustomCallout: this.olitype(item.siteChannel),
						// title: `${item.price}`,
						iconPath: '../../static/img/tt.png',

						width: 20,
						height: 20,
						// joinCluster: true,
						callout: {
							content: `${this.moneyIntercept(item.price) }`,
							color: '#FFFFFF',
							fontSize: '25rpx',
							bgColor: '#FF4A4A',
							borderRadius: '10px',
							padding: 10,
							display: 'BYCLICK'
						}
						// customCallout: {
						// 	anchorX: 0,
						// 	anchorY: 10,
						// 	display: "BYCLICK"
						// }
					}
					item = Object.assign(item, configure);
				});
				return markerList
			},
			//地图组件控件
			assembly() {},
			//点击气泡事件
			async callouttap(e) {
				console.log(e, this.markers, this.markers[e.detail.markerId], '*****')
				let seleMark = this.markers.filter(item => item.id == e.detail.markerId);
				console.log(seleMark[0].siteId, '筛选的id')
				// this.enableScroll  = true
				let details = await oilSiteApi.getSiteDetails({
					latitude: String(this.myCoordinate.latitude),
					longitude: String(this.myCoordinate.longitude),
					siteId: seleMark[0].siteId
				});
				console.log(details, '***')
				if (details.code !== 20000) {
					uni.showToast({
						title: details.msg,
						icon: 'none'
					})
					return
				}
				this.mapEventListeners('details', Object.assign(details.data, {
					id: seleMark[0].siteId
				}))
			},
			//点击定位点事件
			markertap(e) {
				this.callouttap(e)
				console.log(e, '点击了ma')
			},
			//获取当前位置 绘制⚪ 设置起点位置和我的位置
			getCurrentLocation() {
				let that = this
				uni.getLocation({
					type: 'gcj02',
					success: function(res) {
						({
							latitude: that.coordinate.latitude,
							longitude: that.coordinate.longitude
						} = res);
						that.circles.push({
							longitude: that.coordinate.longitude,
							latitude: that.coordinate.latitude,
							fillColor: '#FF670033',
							radius: that.radius,
							strokeWidth: 2,
							color: '#FF670033'
						});
						that.myCoordinate = {
							longitude: that.coordinate.longitude,
							latitude: that.coordinate.latitude,
						};
						that.Route.start = Object.assign(that.Route.start, that.coordinate);

					}
				});
			},
			//移动当前中心点 参数:经纬度
			newMapMoveToLocation(longitude, latitude) {
				let that = this
				this.mapContext.moveToLocation({
					longitude: longitude,
					latitude: latitude,
					success(e) {
						// that.mapContext.getScale({
						// 	success: function(e) {
						// 		setTimeout(() => {
						// 			that.mapScale = e.scale;
						// 			setTimeout(() => {
						// 				that.mapScale = 15
						// 			}, 500)
						// 		}, 500)
						// 	}
						// })
						// that.$nextTick(function(){
						// 	that.mapScale = null  
						// 	setTimeout(()=>{
						// 		that.mapScale  = 16
						// 	},0)
						// })
						console.log(`%c 移动 坐标→ ${longitude}-${latitude}`, 'color:green;font-size:20px');

					},
				})
			},
			addfn(e) {
				if (e !== null) {
					setTimeout(() => {
						this.newMapMoveToLocation(this.markers[e].longitude, this.markers[e].latitude);
						this.addfn(e < this.markers.length ? e + 1 : null);
					}, 1500)
				}

			},
			//手动筛选
			filterMarkers(e, w) {
				console.log(e, w, '手动筛选条件')
				let filterMarkers = [];
				//第一步筛选 是否高速
				let highSpeedMarkers = Object.keys(w).includes('highSpeed') && w.highSpeed ? e.filter((item, index) => {
					return Number(w.highSpeed) == 2 ? item : item.highSpeedMark == Number(w.highSpeed)
				}) : e;
				this.markers = highSpeedMarkers;
				console.log(this.markers, '***************************')
			},
			copy(obj) {
				let newobj = null // 接受拷贝的新对象
				if (typeof(obj) == 'object' && typeof(obj) !== null) { // 判断是否是引用类型
					newobj = obj instanceof Array ? [] : {} // 判断是数组还是对象
					for (var i in obj) {
						newobj[i] = this.copy(obj[i]) // 判断下一级是否还是引用类型
					}
				} else {
					newobj = obj
				}
				return newobj
			},
			//拖动辅助控件
			dragMap(e, w) {
				console.log(e, w, '**')
				this.enableScroll = w
				this.newMapMoveToLocation(e.longitude, e.latitude)
				uni.$on('dragMap', function(e) {
					this.enableScroll = e
					console.log(e, '////////')
				})
			}
		}
	}
</script>

<style scoped>
	@import url("./map.css");

	.coverimage {
		position: absolute;
		/* z-index: 999999; */
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		/* background: blanchedalmond; */
		border-radius: 50%;
		overflow: hidden;
		/* opacity: .3; */
		/* height: 50rpx; */
	}

	.map_xx {
		width: 100%;
		height: 100%;
	}
</style>
