From 440828305a83b5e1ffd0f3e4b2b88f7c8c4f128d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 26 Sep 2022 15:05:45 +0800
Subject: [PATCH] 地图模式地图显示
---
src/components/map/plotMap.vue | 54 ++++++++++++++++++++++++++++++++++++------------------
1 files changed, 36 insertions(+), 18 deletions(-)
diff --git a/src/components/map/plotMap.vue b/src/components/map/plotMap.vue
index 3c710c3..a19e172 100644
--- a/src/components/map/plotMap.vue
+++ b/src/components/map/plotMap.vue
@@ -7,6 +7,8 @@
<script>
import NCregion from "@/assets/region"
import { glob } from "glob"
+import {getDetail } from "@/api/farm/farm"
+import { mapGetters } from "vuex"
import * as turf from '@turf/turf'
var farmRegionLayer = null
@@ -22,6 +24,7 @@
data () {
return {
polyline: null,
+ farm:{},
}
},
watch: {
@@ -32,14 +35,15 @@
}
},
computed: {
-
+ ...mapGetters(["$farmId"]),
},
mounted () {
if (global.viewer != null) {
global.viewer = null
}
- function initViewer () {
+ function initViewer (lat,lon) {
+ console.log(11111111111)
global.viewer = new global.DC.Viewer('viewer-container', {
contextOptions: {
webgl: {
@@ -50,6 +54,7 @@
},
sceneMode: 2
})
+ console.log(global,22222222222)
farmRegionLayer = new global.DC.VectorLayer('farmRegionLayer')
global.viewer.addLayer(farmRegionLayer)
@@ -214,7 +219,7 @@
// Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
// fromDegrees()方法,将经纬度和高程转换为世界坐标
destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
- 116.56705776, 27.42386903, 1800.0
+ lon, lat, 1800.0
),
orientation: {
// 指向
@@ -228,8 +233,17 @@
// global.viewer.locationBar.enable = true
}
- global.DC.ready(initViewer)
- this.addRegionPolyLine(NCregion)
+ getDetail(this.$farmId).then(res=>{
+ this.farm.latitude = res.data.data.latitude
+ this.farm.longitude = res.data.data.longitude
+ // global.DC.ready(initViewer(this.farm.latitude,this.farm.longitude))
+
+ global.DC.ready(() => {
+ initViewer(this.farm.latitude,this.farm.longitude)
+ })
+
+ this.addRegionPolyLine(NCregion)
+ })
},
methods: {
/**
@@ -467,18 +481,7 @@
// 经纬度测算中心位置
getCenter (arr) {
- var positionArr = []
- arr.forEach(e=>{
- // e = new global.DC.Namespace.Cesium.Cartesian3(e[0]-0, e[1]-0, 0)
- e[0] = e[0]-0
- e[1] = e[1]-0
- positionArr.push(e)
- })
- positionArr.push(arr[0])
- var positionTurf = [positionArr]
- var polygon = turf.polygon(positionTurf);
- var centroid = turf.centroid(polygon);
- let centerLonLat = []
+
// if (arr.length) {
// const lon = []
// const lat = []
@@ -502,7 +505,22 @@
// centerLonLat = [Number(centerLongitude), Number(centerLatitude)]
// console.log("中心",centerLonLat)
// }
- centerLonLat = [centroid.geometry.coordinates[0],centroid.geometry.coordinates[1]]
+ let centerLonLat = []
+ if(arr.length >= 3 ){
+ var positionArr = []
+ arr.forEach(e=>{
+ // e = new global.DC.Namespace.Cesium.Cartesian3(e[0]-0, e[1]-0, 0)
+ e[0] = e[0]-0
+ e[1] = e[1]-0
+ positionArr.push(e)
+ })
+ positionArr.push(arr[0])
+ var positionTurf = [positionArr]
+ var polygon = turf.polygon(positionTurf);
+ var centroid = turf.centroid(polygon);
+
+ centerLonLat = [centroid.geometry.coordinates[0],centroid.geometry.coordinates[1]]
+ }
return centerLonLat
}
}
--
Gitblit v1.9.3