From 8def26f4743d03740001fbd59a84d0ed38b62635 Mon Sep 17 00:00:00 2001 From: laozt <2721205210@qq.com> Date: Tue, 28 Nov 2023 17:11:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BB=A4=E9=95=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/images/3.png | Bin 0 -> 3355 bytes src/assets/styles/leaflet.scss | 10 +- src/utils/lib/leaflet-tilelayer-colorizr.js | 115 ++++++++++ src/utils/lib/leaflet.ChineseTmsProviders.js | 229 +++++++++---------- src/views/bigScreen/map/index.vue | 96 ++++++-- vue.config.js | 8 +- 6 files changed, 324 insertions(+), 134 deletions(-) create mode 100644 src/assets/images/3.png create mode 100644 src/utils/lib/leaflet-tilelayer-colorizr.js diff --git a/src/assets/images/3.png b/src/assets/images/3.png new file mode 100644 index 0000000000000000000000000000000000000000..a90550100194d39b315afd60a7ca206e5e03dc89 GIT binary patch literal 3355 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 import L from "leaflet"; //引入坐标系转换插件 -// import 'proj4' -// import 'proj4leaflet' +// import "proj4"; +// import "proj4leaflet"; //引入中国底图插件 -// import '@/utils/lib/leaflet.ChineseTmsProviders.js' +import "@/utils/lib/leaflet.ChineseTmsProviders.js"; //引入坐标系偏移插件 -// import '@/utils/lib/leaflet.mapCorrection.min.js' +// import "@/utils/lib/leaflet.mapCorrection.min.js";// +import "@/utils/lib/leaflet-tilelayer-colorizr.js"; // import zhifarenyuan from "@/utils/mapJson/zhifarenyuan.json" // import shijianfenbu from "@/utils/mapJson/shijianfenbu.json" // import zhifacheliang from "@/utils/mapJson/zhifacheliang.json" @@ -265,18 +266,75 @@ export default { doubleClickZoom: false, // 双击放大 scrollWheelZoom: true, // 滚轮放大 dragging: true, + renderer: L.svg(), }); // 电子底图/百度 - this.basemap = L.tileLayer( - "https://api.mapbox.com/styles/v1/sharealex/cllg9dw1i00iz01oj9zmu6iv7/tiles/256/{z}/{x}/{y}?access_token=pk.eyJ1Ijoic2hhcmVhbGV4IiwiYSI6ImNsaXNhZmRjbTFhbnczZmxib3h1OW05YXYifQ.PhlKv60ar3K359d8x2yBPw", - { - maxZoom: 18, - minZoom: 9, - subdomains: ["0", "1", "2", "3", "4", "5", "6", "7"], - } - ); - this.globalMap.addLayer(this.basemap); + // this.basemap = L.tileLayer( + // "https://api.mapbox.com/styles/v1/sharealex/cllg9dw1i00iz01oj9zmu6iv7/tiles/256/{z}/{x}/{y}?access_token=pk.eyJ1Ijoic2hhcmVhbGV4IiwiYSI6ImNsaXNhZmRjbTFhbnczZmxib3h1OW05YXYifQ.PhlKv60ar3K359d8x2yBPw", + // { + // maxZoom: 18, + // minZoom: 9, + // subdomains: ["0", "1", "2", "3", "4", "5", "6", "7"], + // } + // ).addTo(this.globalMap); + + // this.basemap = L.tileLayer( + // "/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}", + // { + // maxZoom: 18, + // minZoom: 9, + // subdomains: ["0", "1", "2", "3", "4", "5", "6", "7"], + // } + // ).addTo(this.globalMap); + + L.tileLayer + .colorizr( + "/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}", + { + maxZoom: 18, + minZoom: 3, + colorize: function (pixel) { + // 这个方法用来调整所有的图片上的rgb值,pixel是图片原有的rgb值 + pixel.r += 30; + pixel.g += 30; + pixel.b += 48; + return pixel; + }, + } + ) + .addTo(this.globalMap); + + // L.tileLayer + // .chinaProvider("GaoDe.Normal.Map", { + // maxZoom: 18, + // minZoom: 5, + // }) + // .addTo(this.globalMap); + + // L.tileLayer + // .colorizr( + // "https://t{s}.tianditu.gov.cn/vec_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=40a9f830e2cba324771cd6bca2489434", + // { + // maxZoom: 18, + // minZoom: 3, + // colorize: function (pixel) { + // // 这个方法用来调整所有的图片上的rgb值,pixel是图片原有的rgb值 + // pixel.r += 13; + // pixel.g += 17; + // pixel.b += 90; + // return pixel; + // }, + // } + // ) + // .addTo(this.globalMap); + + // L.tileLayer + // .chinaProvider("GaoDe.Satellite.Annotion", { + // maxZoom: 18, + // minZoom: 5, + // }) + // .addTo(this.globalMap); this.globalMap.createPane("mapLayer1"); this.globalMap.getPane("mapLayer1").style.zIndex = 501; @@ -325,6 +383,9 @@ export default { let zoom = this.globalMap.getZoom(); console.log("层级:", zoom); }); + this.globalMap.on("click", (e) => { + console.log("click:", e); + }); // this.addLayer2(); this.addLayer1(); this.addMark("执法人员"); @@ -336,6 +397,15 @@ export default { this.addLayer7(); this.addLayer8(); + + // 定位点 118.797442,32.087219 南京站 + L.marker(L.latLng(31.96840071263104, 118.79808425903322), { + icon: L.icon({ + iconUrl: require("../../../assets/images/3.png"), + iconSize: [38, 38], + iconAnchor: [22, 38], + }), + }).addTo(this.globalMap); }, addLayer8() { // 加载geojson diff --git a/vue.config.js b/vue.config.js index c89ba36..f8c101e 100644 --- a/vue.config.js +++ b/vue.config.js @@ -18,7 +18,6 @@ const postcss = px2rem({ remUnit: 16, }); - // vue.config.js 配置说明 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions // 这里只列一部分,具体配置参考文档 @@ -49,6 +48,13 @@ module.exports = { ["^" + process.env.VUE_APP_BASE_API]: "", }, }, + "/appmaptile": { + target: "https://wprd03.is.autonavi.com", + changeOrigin: true, + pathRewrite: { + "^/appmaptile": "/appmaptile", + }, + }, }, disableHostCheck: true, },