Browse Source

Merge remote-tracking branch 'origin/jw_feature_dev' into dev

feature
战立标 2 years ago
parent
commit
2028db8083
  1. 5
      src/views/dataBoard/cpts/map/index.vue
  2. 44
      src/views/dataBoard/overview/index.vue

5
src/views/dataBoard/cpts/map/index.vue

@ -857,8 +857,9 @@ export default {
el.textContent = data[i].peopleType + ":" + data[i].personnelNum;
const numMarkerItem = new Marker({
element: el,
offsets: [0, 40],
}).setLnglat([data[i].longitude * 1, data[i].latitude]);
offsets: [0, 45],
})
.setLnglat([data[i].longitude, data[i].latitude]);
numMarker.addMarker(numMarkerItem);
}
scene.addMarkerLayer(numMarker);

44
src/views/dataBoard/overview/index.vue

@ -126,6 +126,7 @@ import Tabs from "@/views/dataBoard/satisfactionEval/components/Tabs/index.vue";
import { requestPostBi } from "@/js/dai/request-bipass";
import { requestPost } from "@/js/dai/request";
import { spliceIntoChunks } from "@/utils/index";
export default {
name: "renfang",
@ -327,7 +328,34 @@ export default {
}
this.getMapData(item.orgId, item.orgLevel);
},
getCenterPoint(geoCoordinateList) {
const geoCoordinateListFlat = geoCoordinateList.reduce((s, v) => {
return (s = s.concat(v))
}, [])
const total = geoCoordinateListFlat.length
let X = 0
let Y = 0
let Z = 0
for (const g of geoCoordinateListFlat) {
const lat = g.lat * Math.PI / 180
const lon = g.lng * Math.PI / 180
const x = Math.cos(lat) * Math.cos(lon)
const y = Math.cos(lat) * Math.sin(lon)
const z = Math.sin(lat)
X += x
Y += y
Z += z
}
X = X / total
Y = Y / total
Z = Z / total
const Lon = Math.atan2(Y, X)
const Hyp = Math.sqrt(X * X + Y * Y)
const Lat = Math.atan2(Z, Hyp)
return { lng: Lon * 180 / Math.PI, lat: Lat * 180 / Math.PI }
},
//
handleClickSearchItem(item) {
if (!item.longitude) {
@ -342,12 +370,24 @@ export default {
let org = this.orgData.children;
org.forEach((item) => {
data.forEach((item2) => {
let coordinates = spliceIntoChunks(item.coordinates.split(",").map((item) => parseFloat(item)),2)
let coordinates2 = coordinates.map(item3 => {
return [{
lat: item3[1],
lng: item3[0]
}]
})
let index = parseInt(coordinates.length / 2)
console.log(index,coordinates,'coordinates',coordinates2,this.getCenterPoint(coordinates2))
let centerLngLat = this.getCenterPoint(coordinates2)
// spliceIntoChunks
if (item2.orgId === item.id && item.coordinates) {
params.push({
...item2,
peopleType: this.peopleList[this.peopleType],
latitude: item.latitude,
longitude: item.longitude,
latitude: centerLngLat.lat,
longitude: centerLngLat.lng,
coordinates
});
}
});

Loading…
Cancel
Save