From f02caef2e782b578b2a29b84b59b15e2f43648f2 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 20 Feb 2023 17:29:18 +0800
Subject: [PATCH] 警员,值班新增导入
---
src/components/map/dcSearchMap.vue | 102 +++++++++++++++++++++++++++++++-------------------
1 files changed, 63 insertions(+), 39 deletions(-)
diff --git a/src/components/map/dcSearchMap.vue b/src/components/map/dcSearchMap.vue
index 6e6f556..37a5a0b 100644
--- a/src/components/map/dcSearchMap.vue
+++ b/src/components/map/dcSearchMap.vue
@@ -5,26 +5,27 @@
</template>
<script>
+
+let pointLayer = null
export default {
name: "dcSearchMap",
props: ['isDetail', 'point'],
- data () {
+ data() {
return {
- pointLayer: null,
currentPoint: null,
//绘制工具
plotTool: null,
coordinates: []
}
},
- created () {
+ created() {
},
- mounted () {
+ mounted() {
},
methods: {
- init () {
+ init() {
let self = this
if (global.searchViewer != null) {
global.searchViewer = null
@@ -34,7 +35,7 @@
initViewer()
})
- function initViewer () {
+ function initViewer() {
//配置viewer
global.searchViewer = new global.DC.Viewer('search-viewer-container', {
contextOptions: {
@@ -48,18 +49,30 @@
})
//加载地图
+ // global.searchViewer.imageryLayers.addImageryProvider(
+ // new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
+ // url: 'https://webmap-tile.sf-express.com/MapTileService/rt?fetchtype=static&x={x}&y={y}&z={z}&project=sfmap&pic_size=256&pic_type=png8&data_name=361100&data_format=merged-dat&data_type=normal',
+ // format: 'image/jpeg',
+ // show: true,
+ // maximumLevel: 18
+ // })
+ // )
+
global.searchViewer.imageryLayers.addImageryProvider(
- new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
- url: 'https://webmap-tile.sf-express.com/MapTileService/rt?fetchtype=static&x={x}&y={y}&z={z}&project=sfmap&pic_size=256&pic_type=png8&data_name=361100&data_format=merged-dat&data_type=normal',
- format: 'image/jpeg',
- show: true,
- maximumLevel: 18
+ new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
+ url: "http://10.141.11.11:8090/MapTileService/wmts?STORETYPE=merged-dat&PROJECTION=4326",
+ layer: "wmts_4326_361100",
+ style: "default",
+ format: "image/png",
+ tileMatrixSetID: "c",
+ tileMatrixLabels: new Array(18).fill(0).map((v, i) => i + 1),
+ tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
})
)
//添加图层
- self.pointLayer = new global.DC.VectorLayer('polygonLayer')
- global.searchViewer.addLayer(self.pointLayer)
+ pointLayer = new global.DC.VectorLayer('polygonLayer')
+ global.searchViewer.addLayer(pointLayer)
self.plotTool = new global.DC.Plot(global.searchViewer, {
icon_center: "/img/dwicon.jpeg", // 自定义的中心点图标
@@ -74,8 +87,8 @@
// Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
// fromDegrees()方法,将经纬度和高程转换为世界坐标
destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
- //设置坐标为上饶市
- 117.951478782, 28.447896798, 1800.0
+ //设置坐标为上饶市信州区
+ 117.966460, 28.431002, 5000.0
),
orientation: {
// 指向
@@ -94,7 +107,7 @@
},
//开始绘画
- draw () {
+ draw() {
const self = this
if (this.polygon) {
this.clearDraw()
@@ -102,18 +115,18 @@
//鼠标左键事件
let leftClick = function (event) {
if (self.currentPoint) {
- self.pointLayer.removeOverlay(self.currentPoint)
+ pointLayer.removeOverlay(self.currentPoint)
self.currentPoint = null
}
- let point = new global.DC.Point(new global.DC.Position(event.wgs84SurfacePosition.lng, event.wgs84SurfacePosition.lat))
- point.setStyle({
- pixelSize: 10,
- color: global.DC.Color.RED, //颜色
- outlineColor: global.DC.Color.WHITE, //边框颜色
- outlineWidth: 2, //边框大小,
- })
+ let point = new global.DC.Billboard(new global.DC.Position(event.wgs84SurfacePosition.lng, event.wgs84SurfacePosition.lat), 'img/dwicon.jpeg')
+ // point.setStyle({
+ // pixelSize: 10,
+ // color: global.DC.Color.RED, //颜色
+ // outlineColor: global.DC.Color.WHITE, //边框颜色
+ // outlineWidth: 2, //边框大小,
+ // })
self.currentPoint = point
- self.pointLayer.addOverlay(point)
+ pointLayer.addOverlay(point)
let pointLonLat = [event.wgs84SurfacePosition.lng, event.wgs84SurfacePosition.lat]
self.$emit("getMapData", pointLonLat)
}
@@ -121,11 +134,11 @@
global.searchViewer.on(global.DC.MouseEventType.LEFT_DOWN, leftClick)
},
//重置
- clearDraw () {
+ clearDraw() {
this.polygonLayer.clear()
},
//转换成数据库数据
- doData (val) {
+ doData(val) {
let str = "LINESTRING("
for (let k = 0; k < val.length; k++) {
str += `${val[k][0]} ${val[k][1]}`
@@ -139,7 +152,7 @@
return '\'' + str + '\''
},
//回显点
- showPoint (positions) {
+ showPoint(positions) {
let viewer = global.searchViewer
if (positions) {
let pointData = ""
@@ -148,21 +161,32 @@
pointArray = pointData[1].split(" ")
let position = new global.DC.Position(pointArray[0], pointArray[1])
- let point = new global.DC.Point(position)
- point.setStyle({
- pixelSize: 10,
- color: global.DC.Color.RED, //颜色
- outlineColor: global.DC.Color.WHITE, //边框颜色
- outlineWidth: 2, //边框大小,
- })
+ let point = new global.DC.Billboard(position, 'img/dwicon.jpeg')
+ // point.setStyle({
+ // pixelSize: 10,
+ // color: global.DC.Color.RED, //颜色
+ // outlineColor: global.DC.Color.WHITE, //边框颜色
+ // outlineWidth: 2, //边框大小,
+ // })
this.currentPoint = point
- this.pointLayer.addOverlay(point)
- viewer.flyTo(this.pointLayer)
+ pointLayer.addOverlay(point)
+ viewer.flyTo(pointLayer)
}
},
+ setView(points) {
+ if (points) {
+ let position = new global.DC.Position(Number(points.lng), Number(points.lat), 2000, 0, -90, 0)
+ let point = new global.DC.Billboard(position, 'img/dwicon.jpeg')
+ this.currentPoint = point
+ pointLayer.clear()
+ pointLayer.addOverlay(point)
+ global.searchViewer.flyToPosition(
+ new global.DC.Position(Number(points.lng), Number(points.lat), 2000, 0, -90, 0)
+ )
+ }
+ }
}
}
</script>
-<style scoped>
-</style>
+<style scoped></style>
--
Gitblit v1.9.3