diff --git a/src/views/overview/overviewSimple.vue b/src/views/overview/overviewSimple.vue index fba83c8..7b06e30 100644 --- a/src/views/overview/overviewSimple.vue +++ b/src/views/overview/overviewSimple.vue @@ -7,7 +7,7 @@ - + @@ -266,15 +266,37 @@ if(well_model_layer!==null) window.map.removeLayer(well_model_layer) well_model_layer = new mars3d.layer.GraphicLayer() window.map.addLayer(well_model_layer) - for(let i=0;i井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}`, - })) + if (response.data.length > 0) { + let maxLng = parseFloat(response.data[0].longitude) + let minLng = parseFloat(response.data[0].longitude) + let maxLat = parseFloat(response.data[0].latitude) + let minLat = parseFloat(response.data[0].latitude) + for (let i = 0; i < response.data.length; i++) { + if(parseFloat(response.data[i].latitude)>100) continue + let lng = parseFloat(response.data[i].longitude) + let lat = parseFloat(response.data[i].latitude) + + if (lng > maxLng) maxLng = lng + if (lng < minLng) minLng = lng + if (lat > maxLat) maxLat = lat + if (lat< minLat) minLat = lat + + well_model_layer.addGraphic(new mars3d.graphic.ModelPrimitive({ + position: [lng, lat, 0], + style: { + url: '../static/model/ys.gltf', + scale: 2 + }, + popup: `给水井
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}`, + })) + } + let satrt = Cesium.Cartographic.fromDegrees(parseFloat(maxLng), parseFloat(maxLat)) + let end = Cesium.Cartographic.fromDegrees(parseFloat(minLng), parseFloat(minLat)) + let geodesic = new Cesium.EllipsoidGeodesic(); + geodesic.setEndPoints(satrt, end); + let distance = geodesic.surfaceDistance + let center = { lat: (parseFloat(maxLat) + parseFloat(minLat)) / 2, lng: (parseFloat(maxLng) + parseFloat(minLng)) / 2, alt: distance+1500, heading: 360, pitch: -90 } + window.map.setCameraView(center) } } }) diff --git a/src/views/overview/overviewSimple.vue b/src/views/overview/overviewSimple.vue index fba83c8..7b06e30 100644 --- a/src/views/overview/overviewSimple.vue +++ b/src/views/overview/overviewSimple.vue @@ -7,7 +7,7 @@ - + @@ -266,15 +266,37 @@ if(well_model_layer!==null) window.map.removeLayer(well_model_layer) well_model_layer = new mars3d.layer.GraphicLayer() window.map.addLayer(well_model_layer) - for(let i=0;i井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}`, - })) + if (response.data.length > 0) { + let maxLng = parseFloat(response.data[0].longitude) + let minLng = parseFloat(response.data[0].longitude) + let maxLat = parseFloat(response.data[0].latitude) + let minLat = parseFloat(response.data[0].latitude) + for (let i = 0; i < response.data.length; i++) { + if(parseFloat(response.data[i].latitude)>100) continue + let lng = parseFloat(response.data[i].longitude) + let lat = parseFloat(response.data[i].latitude) + + if (lng > maxLng) maxLng = lng + if (lng < minLng) minLng = lng + if (lat > maxLat) maxLat = lat + if (lat< minLat) minLat = lat + + well_model_layer.addGraphic(new mars3d.graphic.ModelPrimitive({ + position: [lng, lat, 0], + style: { + url: '../static/model/ys.gltf', + scale: 2 + }, + popup: `给水井
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}`, + })) + } + let satrt = Cesium.Cartographic.fromDegrees(parseFloat(maxLng), parseFloat(maxLat)) + let end = Cesium.Cartographic.fromDegrees(parseFloat(minLng), parseFloat(minLat)) + let geodesic = new Cesium.EllipsoidGeodesic(); + geodesic.setEndPoints(satrt, end); + let distance = geodesic.surfaceDistance + let center = { lat: (parseFloat(maxLat) + parseFloat(minLat)) / 2, lng: (parseFloat(maxLng) + parseFloat(minLng)) / 2, alt: distance+1500, heading: 360, pitch: -90 } + window.map.setCameraView(center) } } }) diff --git a/static/position.json b/static/position.json index af5d8a5..eb93b4a 100644 --- a/static/position.json +++ b/static/position.json @@ -2409,12 +2409,12 @@ "repeat": 1, "items": [ [ - 120.2388032382542, - 35.98862771739818 - ], - [ 120.23886759005363, 35.98875431063576 + ], + [ + 120.2388032382542, + 35.98862771739818 ] ] },