<template>
	<view class="content">
		<!-- <image src="../../static/a11.png" mode=""></image> -->
		<!-- 地图 -->
		<map class="map" id="map" ref="map" style="width: 100%; height: 100%;" :scale="zoomSize" :latitude="latitude"
			:longitude="longitude" :markers="markers" :enable-satellite="isMap" show-location>
		</map>
		<view class="rightTool">
			<view @click="fengchang" class="right_tool_item">蜂场:<text style="color: #23693F;">{{fengchangNumber}}</text>
			</view>
			<view @click="fengxiang" class="right_tool_item">蜂箱:<text style="color: #23693F;">{{fengxiangNumber}}</text>
			</view>
		</view>
	</view>
</template>

<script>
	import request from '../../utils/request'
	export default {
		name: "feature",
		data() {
			return {
				fengchangNumber: 0,
				fengxiangNumber: 0,
				listData: [],
				latitude: '',
				longitude: '',
				isMap: false,
				zoomSize: 15,
				fclist: [],
				markers: [
					{
					  // latitude:27.105794,
					  // longitude:120.256882,
					  // width: 20,
					  // height: 30,
					  // id: 0,
					  // iconPath: '../../static/aa1.png',
					}
				],
			}
		},
		onShow() {
			this.markers = []
			this.getLocation()
			this.listDataFn()
			this.getfengchangList()
		},
		methods: {
			getfengchangList() {
				request.get('/api/beehive/index', {}).then(res => {
					this.fengxiangNumber = res.data.data.length

				})
				request.get('/api/apiary/index', {}).then(res => {
					this.fengchangNumber = res.data.data.length
					this.fclist = res.data.data
					this.fclist.forEach(item => {
						this.markers.push({
							latitude: item.lat,
							longitude: item.lng,
							width: 25,
							height: 25,
							id: item.id,
							iconPath: '../../static/蜂场.png',
							label: {
								content: item.name,
								fontSize:14,
								 anchorX: (() => {
								 	if (item.name.length <= 2) {
								 		return -13
								 	} else if (item.name.length <= 3) {
								 		return -20
								 	} else if (item.name.length <= 4) {
								 		return -30
								 	} else if (item.name.length <= 5) {
								 		return -35
								 	} else if (item.name.length <= 6) {
								 		return -40
								 	} else if (item.name.length <= 8) {
								 		return -50
								 	} else if (item.name.length <=
								 		10) {
								 		return -60
								 	} else {
								 		return -item.name.length * 6.5
								 	}
								 })(),
							},
						})
					})
				})
			},
			async listDataFn() {
				await request.get('/api/beehive/index2map').then(res => {
					// console.log(res.data.data)
					this.listData = [...res.data.data]
					this.mapdian()
				})
			},
			mapdian() {
				this.listData.forEach(item => {
					if (item.status_text == '在线') {
						this.markers.push({
							latitude: item.lat,
							longitude: item.lng,
							width: 15,
							height: 15,
							id: item.id,
							iconPath: '../../static/a11.png',
							label: {
								content: item.name,
								anchorX: (() => {
									if (item.name.length <= 2) {
										return -12
									} else if (item.name.length <= 3) {
										return -20
									} else if (item.name.length <= 4) {
										return -25
									} else if (item.name.length <= 5) {
										return -30
									} else if (item.name.length <= 6) {
										return -35
									} else if (item.name.length <= 8) {
										return -40
									} else if (item.name.length <=
										10) {
										return -45
									} else {
										return -item.name.length * 5
									}
								})(),
							}
						})
					} else {
						this.markers.push({
							latitude: item.lat,
							longitude: item.lng,
							width: 15,
							height: 15,
							id: item.id,
							iconPath: '../../static/a22.png',
							label: {
								content: item.name,
								 anchorX: (() => {
								 	if (item.name.length <= 2) {
								 		return -12
								 	} else if (item.name.length <= 3) {
								 		return -20
								 	} else if (item.name.length <= 4) {
								 		return -25
								 	} else if (item.name.length <= 5) {
								 		return -30
								 	} else if (item.name.length <= 6) {
								 		return -35
								 	} else if (item.name.length <= 8) {
								 		return -40
								 	} else if (item.name.length <=
								 		10) {
								 		return -45
								 	} else {
								 		return -item.name.length * 5
								 	}
								 })(),
							}
						})
					}


				})
			},
			async getLocation() {
				// 获取用户当前的位置
				// console.log('1111')
				const {
					latitude,
					longitude
				} = await uni.getLocation()
				console.log(latitude, longitude)
				this.latitude = latitude
				this.longitude = longitude,
					this.markers.push({
						latitude,
						longitude,
						width: 1,
						height: 1,
						id: 0,
						iconPath:'',
						customCallout: {
							// anchorY: -5,
							anchorX: (() => {
								if (item.name.length <= 2) {
									return -12
								} else if (item.name.length <= 3) {
									return -20
								} else if (item.name.length <= 4) {
									return -25
								} else if (item.name.length <= 5) {
									return -30
								} else if (item.name.length <= 6) {
									return -35
								} else if (item.name.length <= 8) {
									return -40
								} else if (item.name.length <=
									10) {
									return -45
								} else {
									return -item.name.length * 5
								}
							})(),
							display: 'BYCLICK'
						}
					})
			},
			fengchang() { // 跳转蜂场
				wx.switchTab({
					url: '/pages/fengchang/index'
				})
			},
			fengxiang() { // 跳转蜂箱
				wx.switchTab({
					url: '/pages/fengxiang/index'
				})
			}
		}
		// methods: {
		//     toggle(){
		//         this.isMap=!this.isMap
		//     },
		//     blowup(){
		//        if(this.zoomSize >= 20) return
		//        this.zoomSize++
		//     },
		//     minification(){
		//        if(this.zoomSize <= 3) return
		//        this.zoomSize--
		//     },
		//     back(){
		//         this.map = uni.createMapContext("map", this);  
		//         this.map.moveToLocation() 
		//     },
		//     mapTap({detail: {latitude,longitude}}){
		//         if(this.flag){
		//             this.option = {
		//                 id: ++this.id,
		//                 latitude: latitude,
		//                 longitude: longitude,
		//                 width: 20,
		//                 height: 30
		//             }
		//             let arr=[]
		//             this.markers.push(this.option)
		//             for (let index = 1; index < this.markers.length; index++) {
		//                 arr.push({
		//                     latitude:this.markers[index].latitude,
		//                     longitude: this.markers[index].longitude
		//                 })
		//             }
		//             this.option=arr;  
		//         }

		//     },
		//     measuredArea(){
		//       this.flag=!this.flag 
		//     },
		//     wayAll(){
		//         if (this.option.length > 2) {
		//             console.log(this.option);
		//     this.polygons[0].points=[];
		//     this.polygons[0].points.push(...this.option)
		//             this.markers[1]["callout"]={
		// 					content: "4917.9平方公里",
		// 					display: "ALWAYS",
		// 					padding: 6,
		// 					borderRadius: 5,
		// 					borderWidth: 1,
		// 					borderColor: "#3D8DFE",
		//                             anchorX:30,
		//                             anchorY:10
		// 				}
		//     console.log(this.polygons,'得到的数值');
		// }else{
		// 	uni.showToast({
		// 		title:"起码选择三个点",
		// 		duration: 2000
		// 	})
		// }
		//     },
		//     closeWayall(){
		//         this.polygons[0].points=[{
		// 		latitude: 28.68194 ,
		// 		longitude:115.96191
		// 	}, {
		// 		latitude: 28.68195 ,
		// 		longitude:115.96192
		// 	}, {
		// 		latitude: 28.68196 ,
		// 		longitude:115.96193
		// 	}]
		//     },
		//     deleteAnchor(){
		//         if(this.markers.length !== 1){
		//             this.markers.pop()
		//             let arr=[]
		//             for (let index = 1; index < this.markers.length; index++) {
		//                 arr.push({
		//                     latitude:this.markers[index].latitude,
		//                     longitude: this.markers[index].longitude
		//                 })
		//             }
		//             this.option=arr;    
		//             this.closeWayall() 
		//             if(this.option.length > 2){
		//                 this.wayAll()
		//             }

		//         }
		//     }
		// },
	}
</script>

<style lang="scss" scoped>
	.content {
		height: 100%;
		width: 100%;
		position: absolute;
		overflow: hidden;

		.rightTool {
			position: absolute;
			right: 30rpx;
			top: 30rpx;

			.right_tool_item {
				background-color: rgba(214, 215, 219, 0.5);
				padding: 10rpx 20rpx;
				margin-top: 10rpx;
				border-radius: 30rpx;
			}
		}

		.sidebar {
			position: absolute;
			top: 15%;
			right: 20rpx;
		}

		// .toggle,.measure,.zoom{}

		.measure {
			margin-top: 15rpx;
		}

		.stakeMark {
			margin-top: 15rpx;
		}

		.stakeMark {
			width: 80rpx;
			height: 75rpx;
			line-height: 75rpx;
			font-size: 25rpx;
			text-align: center;
			background-color: white;
			color: #146bee;
			border-radius: 7rpx;
			font-weight: 700;
		}

		.zoom {
			margin-top: 50rpx;
			border-radius: 7rpx;
		}

		.orientation {
			width: 80rpx;
			height: 75rpx;
			line-height: 75rpx;
			font-size: 25rpx;
			background-color: white;
			text-align: center;
			border-radius: 7rpx;
			margin-top: 20rpx;
		}

		.callout-content {
			position: absolute;
			background-color: #fff;
			padding: 15rpx;
			font-size: 16rpx;
			border-radius: 7%;

			cover-view {
				margin: 15rpx;

			}
		}

		.generationRegion {
			width: 80%;
			position: absolute;
			bottom: 10%;
			left: 10%;
		}

	}
</style>