Compare commits

...

3 Commits

Author SHA1 Message Date
hym 4db893ccf8 增加 World_Imagery 底图 2026-04-02 18:06:11 +08:00
hym cbe325350b 优化 mapbox 控件初始化逻辑 2026-04-02 18:05:51 +08:00
hym acf1ef664a 优化 mapbox 初始化逻辑 2026-04-02 18:04:40 +08:00
5 changed files with 87 additions and 219 deletions

View File

@ -54,6 +54,7 @@ window.mapboxgl.accessToken = 'pk.eyJ1IjoicWRod2kiLCJhIjoiY2xiaXppcjEyMGNhMjNwbz
Vue.config.tiles = {
"world_horizon_1": `${Vue.config.baseUrl}/geoserver/gwc/service/wmts/rest/ougp:world_horizon_1/EPSG:900913/EPSG:900913:{z}/{y}/{x}?format=image/jpeg`,
"World_Imagery": "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
"GEBCO_basemap_NCEI": "https://tiles.arcgis.com/tiles/C8EMgrsFcRFL6LrL/arcgis/rest/services/GEBCO_basemap_NCEI/MapServer/tile/{z}/{y}/{x}",
"gaode":"https://webrd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&scl=2&style=8&x={x}&y={y}&z={z}"
};

View File

@ -1,4 +1,5 @@
import Vue from 'vue'
import { loadVectorLayer } from '@/utils/vector-layer-utils'
export function initMapbox(mapId, options = {}) {
const map = new window.mapboxgl.Map({
@ -51,10 +52,10 @@ export function initMapbox(mapId, options = {}) {
localIdeographFontFamily: "Microsoft YoHei, 'Noto Sans', 'Noto Sans CJK SC', sans-serif",
pitch: 0,
bearing: 0,
// // 禁用所有旋转和俯仰角控制
// dragRotate: false,
// touchZoomRotate: false,
// pitchWithRotate: false,
// 旋转和俯仰角控制
dragRotate: options.dragRotate || false,
touchZoomRotate: options.touchZoomRotate || false,
pitchWithRotate: options.pitchWithRotate || false,
// maxBounds: [[-180, -90], [180, 90]],// Set the map's geographical boundaries.
antialias: true,
attributionControl: false,
@ -84,10 +85,13 @@ export function initMapbox(mapId, options = {}) {
map.on('load', () => {
// 加载海岸线
// loadVectorLayer("GSHHS_f_L1", ["line"], ["#5c71c3"], "visible", "workUnitMap_ship", 'ougp');
if (options.coastlineOn || false)
loadVectorLayer("GSHHS_f_L1", ["line"], ["#5c71c3"], "visible", mapId, 'ougp');
// 加载等深线
// loadVectorLayer("contour-4500m", ["line"], ["#FEFEFE"], "visible", "workUnitMap_ship", 'ougp');
// loadVectorLayer("contour-6000m", ["line"], ["#FEFEFE"], "visible", "workUnitMap_ship", 'ougp');
if (options.contourOn || false) {
loadVectorLayer("contour-4500m", ["line"], ["#FEFEFE"], "visible", mapId, 'ougp');
loadVectorLayer("contour-6000m", ["line"], ["#FEFEFE"], "visible", mapId, 'ougp');
}
});
}
@ -128,7 +132,7 @@ export function safeSetPaintProperty(map, layerId, property, value) {
}
}
export function handleWheel(mapId = "home") {
export function handleWheel(mapId = "homeMap") {
document.addEventListener("keydown", () => {
// 允许鼠标滚轮缩放
Vue.config.maps[mapId].scrollZoom.enable();
@ -139,7 +143,7 @@ export function handleWheel(mapId = "home") {
}, { once: false, passive: false });
}
export function initSprites(mapId = "home") {//../../../static/images/logo.png
export function initSprites(mapId = "homeMap") {//../../../static/images/logo.png
for (const sprite of Vue.config.sprites) {
// Vue.config.maps[mapId].loadImage(`${Vue.config.baseUrl}/oe/${Vue.config.wwwrootBaseUrl}/sprites/${sprite}`, function (error, image) {
Vue.config.maps[mapId].loadImage(`./static/sprites/${sprite}`, function (error, image) {

View File

@ -6,7 +6,7 @@ let clickedLineIds = [];
// 单例 Popup用于确保地图上只有一个弹框实例
let sharedPopup = null;
export function loadVectorLayer(layerId, features = ["line", "symbol"], colors = ["#FEFEFE", "#FF0000"], visibility = "visible", mapId = "home", workspace = 'dsds', textField = "name") {
export function loadVectorLayer(layerId, features = ["line", "symbol"], colors = ["#FEFEFE", "#FF0000"], visibility = "visible", mapId = "homeMap", workspace = 'dsds', textField = "name") {
// 添加数据源
const sourceId = `vector-${layerId}`;
let source = Vue.config.maps[mapId].getSource(sourceId);
@ -142,7 +142,7 @@ export async function loadVectorFeature(layerId, feature, color, visibility, map
return sourceId;
}
export function setHighlight(layerId, sourceId, mapId = "home") {
export function setHighlight(layerId, sourceId, mapId = "homeMap") {
let hoveredLineId = null;
let clickedLineId = null;
Vue.config.maps[mapId].on('click', layerId, (e) => {
@ -231,7 +231,7 @@ export function setHighlight(layerId, sourceId, mapId = "home") {
});
}
export function changeCursor(layerId, mapId = "home", cursor = "pointer") {
export function changeCursor(layerId, mapId = "homeMap", cursor = "pointer") {
Vue.config.maps[mapId].on("mouseenter", layerId, () => {
Vue.config.maps[mapId].getCanvas().style.cursor = cursor;
});
@ -241,7 +241,7 @@ export function changeCursor(layerId, mapId = "home", cursor = "pointer") {
});
}
export function showSampleLineInfo(layerId, mapId = "home") {
export function showSampleLineInfo(layerId, mapId = "homeMap") {
Vue.config.maps[mapId].on("click", layerId, async (e) => {
// 禁止点击事件穿透 - 判断同一个 event 是否已经触发,用于避免图层内标记点注册的点击事件重复触发(点位分布密集时容易出现)
if (e.defaultPrevented)
@ -290,7 +290,7 @@ export function showSampleLineInfo(layerId, mapId = "home") {
});
}
export function showSampleStationInfo(layerId, mapId = "home") {
export function showSampleStationInfo(layerId, mapId = "homeMap") {
Vue.config.maps[mapId].on("click", layerId, async (e) => {
// 禁止点击事件穿透 - 判断同一个 event 是否已经触发,用于避免图层内标记点注册的点击事件重复触发(点位分布密集时容易出现)
if (e.defaultPrevented)
@ -338,7 +338,7 @@ export function showSampleStationInfo(layerId, mapId = "home") {
});
}
export function showTrackInfo(layerId, mapId = "home") {
export function showTrackInfo(layerId, mapId = "homeMap") {
Vue.config.maps[mapId].on("click", layerId, async (e) => {
// 禁止点击事件穿透 - 判断同一个 event 是否已经触发,用于避免图层内标记点注册的点击事件重复触发(点位分布密集时容易出现)
if (e.defaultPrevented)

View File

@ -141,7 +141,7 @@
<img src="../../static/images/arrow_nav1.png" alt="">
</div>
<div class="right">
<div id="cesiumContainerData" style="height: 100vh;width:100%;" />
<div id="dataSearchMap" style="height: 100vh;width:100%;" />
<a @click="goHome"> <img class="logo" src="../../static/images/logo_map.png" alt="">
<p class="goHome">返回首页</p>
</a>
@ -240,7 +240,7 @@ import {
import Vue from 'vue'
import { loadVectorLayer, loadJsonLineFeature, loadJsonPointFeature, highlightFeaturesByProperty } from '@/utils/vector-layer-utils'
import { ColorGenerator } from '@/utils/color-generator';
import { handleWheel, initSprites, triggerLayerClick } from "@/utils/mapbox-utils";
import { initMapbox, handleWheel, initSprites, triggerLayerClick } from "@/utils/mapbox-utils";
const Cesium = window.Cesium
export default {
@ -363,8 +363,17 @@ export default {
},
},
mounted() {
this.imageryViewModels = setImageryViewModels(this.CesiumHostAddr)
this.initMapbox()
initMapbox("dataSearchMap", {
tileKey: "world_horizon_1",
zoom: 4,
center: [122, 15],
minZoom: 2,
maxZoom: 29,
coastlineOn:false,
contourOn:false
});
// this.imageryViewModels = setImageryViewModels(this.CesiumHostAddr)
// this.initCesium()
},
methods: {
@ -462,7 +471,7 @@ export default {
item.show = true
// this.addSingleLineImg(item.voyage_name, null)
//
loadVectorLayer(item.voyage_name, ["line", "symbol"], [colors[i], colors[i]], "visible", "dataSearch", "dsds");
loadVectorLayer(item.voyage_name, ["line", "symbol"], [colors[i], colors[i]], "visible", "dataSearchMap", "dsds");
i++;
})
}
@ -480,7 +489,7 @@ export default {
},
//
addHighlightLayer(voyageName, i) {
Vue.config.maps["dataSearch"].setPaintProperty(`vector-${voyageName}-line`, "line-width", 4);
Vue.config.maps["dataSearchMap"].setPaintProperty(`vector-${voyageName}-line`, "line-width", 4);
this.dataList[i].highlight = true;
return;
@ -507,7 +516,7 @@ export default {
2,
1.8
];
Vue.config.maps["dataSearch"].setPaintProperty(`vector-${voyageName}-line`, "line-width", lineWidthExpression);
Vue.config.maps["dataSearchMap"].setPaintProperty(`vector-${voyageName}-line`, "line-width", lineWidthExpression);
this.dataList[i].highlight = false;
return;
@ -524,8 +533,8 @@ export default {
this.dataList[i].show = true;
}
//
Vue.config.maps["dataSearch"].setLayoutProperty(`vector-${voyageName}-symbol`, "visibility", "visible");
Vue.config.maps["dataSearch"].setLayoutProperty(`vector-${voyageName}-line`, "visibility", "visible");
Vue.config.maps["dataSearchMap"].setLayoutProperty(`vector-${voyageName}-symbol`, "visibility", "visible");
Vue.config.maps["dataSearchMap"].setLayoutProperty(`vector-${voyageName}-line`, "visibility", "visible");
return;
//
if (this.trackLayerMap[voyageName]) {
@ -557,10 +566,10 @@ export default {
this.dataList[i].show = false;
}
//
// let visibility = Vue.config.maps["dataSearch"].getLayoutProperty(`vector-${voyageName}-symbol`, "visibility");
// let visibility = Vue.config.maps["dataSearchMap"].getLayoutProperty(`vector-${voyageName}-symbol`, "visibility");
// visibility = visibility == "visible" ? "none" : "visible";
Vue.config.maps["dataSearch"].setLayoutProperty(`vector-${voyageName}-symbol`, "visibility", "none");
Vue.config.maps["dataSearch"].setLayoutProperty(`vector-${voyageName}-line`, "visibility", "none");
Vue.config.maps["dataSearchMap"].setLayoutProperty(`vector-${voyageName}-symbol`, "visibility", "none");
Vue.config.maps["dataSearchMap"].setLayoutProperty(`vector-${voyageName}-line`, "visibility", "none");
return;
const layerInstance = this.trackLayerMap[voyageName];
@ -647,9 +656,9 @@ export default {
arr.forEach(item => {
// 线/
if (item.job_type == "测线作业") {
loadVectorLayer(`sample_line_${item.dataset_name}`, ["line"], ["#FFFFFF", "#FFFFFF"], "visible", "dataSearch", "dsds", "sample_name");
loadVectorLayer(`sample_line_${item.dataset_name}`, ["line"], ["#FFFFFF", "#FFFFFF"], "visible", "dataSearchMap", "dsds", "sample_name");
} else {
loadVectorLayer(`sample_station_${item.dataset_name}`, ["symbol"], ["#FFFFFF", "#FFFFFF"], "visible", "dataSearch", "dsds", "sample_name");
loadVectorLayer(`sample_station_${item.dataset_name}`, ["symbol"], ["#FFFFFF", "#FFFFFF"], "visible", "dataSearchMap", "dsds", "sample_name");
}
i++;
@ -690,100 +699,10 @@ export default {
this.dataList = voyageList
},
// mapbox
initMapbox() {
const map = new window.mapboxgl.Map({
container: 'cesiumContainerData',
// style: 'mapbox://styles/mapbox/standard',
style: {
"version": 8,
"name": "default_style",
// mapbox使
"sprite": `${Vue.config.baseUrl}/oe/${Vue.config.wwwrootBaseUrl}/sprites/sprite`,
// 使
"glyphs": "mapbox://fonts/mapbox/{fontstack}/{range}.pbf",
// glyphs 404
// "glyphs": `${Vue.config.baseUrl}/oe/${Vue.config.wwwrootBaseUrl}/glyphs/{fontstack}/{range}.pbf`,
"sources": {
"影像地图": {
"type": "raster",
"tiles": [Vue.config.tiles["GEBCO_basemap_NCEI"]],
"tileSize": 256,
// "minzoom": 0,
// "maxzoom": baseMapMaxZoom
}
},
"layers": [
{
"id": "影像地图",
"type": "raster",
"source": "影像地图",
"layout": { visibility: "visible" },
// "minzoom": 0,
// "maxzoom": baseMapMaxZoom
}
]
},
config: {
basemap: {
theme: 'monochrome',
lightPreset: 'night'
}
},
zoom: 5,
center: [113, 15.5],
minZoom: 2,
maxZoom: 29,
trackResize: true,
scrollZoom: false, //
//
localIdeographFontFamily: "Microsoft YoHei, 'Noto Sans', 'Noto Sans CJK SC', sans-serif",
pitch: 0,
bearing: 0,
// //
// dragRotate: false,
// touchZoomRotate: false,
// pitchWithRotate: false,
// maxBounds: [[-180, -90], [180, 90]],// Set the map's geographical boundaries.
antialias: true,
attributionControl: false,
boxZoom: true,//trueshift
preserveDrawingBuffer: false,//truecanvas使pngmap.getCanvas().toDataURL()false
projection: 'equirectangular', // 26
});
Vue.config.maps["dataSearch"] = map;
//
window.addEventListener('resize', (event) => {
map.resize();
// // maps.forEach((key: string, value: any) => {
// // console.log(`${key}: ${value}`);
// // });
// for (let [key, value] of Object.entries(maps)) {
// // value.resize();
// }
// Object.values(maps).forEach((map) => {
// map.resize();
// });
});
// handleWheel("dataSearch");
Vue.config.maps["dataSearch"].scrollZoom.enable();
initSprites("dataSearch")
map.on('load', () => {
// 线
// loadVectorLayer("GSHHS_f_L1", ["line"], ["#5c71c3"], "visible", "dataSearch", 'ougp');
// 线
// loadVectorLayer("contour-4500m", ["line"], ["#FEFEFE"], "visible", "dataSearch", 'ougp');
// loadVectorLayer("contour-6000m", ["line"], ["#FEFEFE"], "visible", "dataSearch", 'ougp');
});
},
// cesium
initCesium() {
Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkY2Y5NWY2Ni1mODQ1LTQ3YTUtYjc4Zi1jYzhjMGI2YzcxMWYiLCJpZCI6MTI5ODMwLCJpYXQiOjE2Nzk0Njk5NTd9.DTH54ioOH-HLqeNIetBe9hFyrPOX2Vp1AQmZzw8TIZ4'
this.viewer = new Cesium.Viewer('cesiumContainerData', {
this.viewer = new Cesium.Viewer('dataSearchMap', {
sceneMode: Cesium.SceneMode.SCENE2D,
shadows: false,
timeline: false,
@ -885,14 +804,14 @@ export default {
this.show = true
// resize
setTimeout(() => {
Vue.config.maps["dataSearch"].resize();
Vue.config.maps["dataSearchMap"].resize();
}, 10);
},
toshow() {
this.show = false
// resize
setTimeout(() => {
Vue.config.maps["dataSearch"].resize();
Vue.config.maps["dataSearchMap"].resize();
}, 10);
},
//
@ -936,16 +855,16 @@ export default {
lon = Number(sample.sampling_lon);
lat = Number(sample.sampling_lat);
}
Vue.config.maps["dataSearch"].setZoom(10);
Vue.config.maps["dataSearch"].flyTo({
Vue.config.maps["dataSearchMap"].setZoom(10);
Vue.config.maps["dataSearchMap"].flyTo({
center: [lon, lat],
speed: 10
});
let layerId = `vector-${job_type == "测线作业" ? "sample_line" : "sample_station"}_${sample.dataset_name}-${job_type == "测线作业" ? "line" : "symbol"}`;
let sourceLayerId = `${job_type == "测线作业" ? "sample_line" : "sample_station"}_${sample.dataset_name}`;
// vector-sample_station_TS-46-1_FDZ377_Slurp_SWYP-symbolvector-sample_line_TS2-29-1_SY612_GQXJ_PJZP-line
// highlightFeaturesByProperty("dataSearch", `${job_type == "线" ? "sample_line" : "sample_station"}_${sample.dataset_name}`, layerId, "sample_name", sample.sample_name);
triggerLayerClick("dataSearch", sourceLayerId, layerId, [lon, lat], { "sample_name": sample.sample_name });
// highlightFeaturesByProperty("dataSearchMap", `${job_type == "线" ? "sample_line" : "sample_station"}_${sample.dataset_name}`, layerId, "sample_name", sample.sample_name);
triggerLayerClick("dataSearchMap", sourceLayerId, layerId, [lon, lat], { "sample_name": sample.sample_name });
},
goHome() {
this.$router.push({ name: 'home' })
@ -961,7 +880,7 @@ export default {
</script>
<style scoped lang="scss">
// #cesiumContainerData {
// #dataSearchMap {
// // position: absolute;
// left: 0px;
// top: 0px;

View File

@ -63,8 +63,7 @@
<img src="../../static/images/guiji.png" alt="">
</div>
<div class="guiji_2">
<div id="cesiumContainer" ref="cesiumContainer"
onmouseleave="document.getElementById('mouseWheelTip').style.display = 'none'"
<div id="homeMap" ref="homeMap" onmouseleave="document.getElementById('mouseWheelTip').style.display = 'none'"
onmouseenter="document.getElementById('mouseWheelTip').style.display = ''" style="height: 100%;width:100%;">
<div class="son" style="display: none;">弹框插槽</div>
<div id="mouseWheelTip" style="display: none;">地图缩放按下 Ctrl + 鼠标滚轮</div>
@ -240,7 +239,7 @@ import {
} from '@/utils/common'
import { loadVectorLayer } from '@/utils/vector-layer-utils'
import { ColorGenerator } from '@/utils/color-generator';
import { handleWheel, initSprites } from "@/utils/mapbox-utils";
import { initMapbox, handleWheel, initSprites, triggerLayerClick } from "@/utils/mapbox-utils";
const Cesium = window.Cesium
@ -323,8 +322,28 @@ export default {
this.sampleDataUpdate()
},
mounted() {
this.imageryViewModels = setImageryViewModels(this.CesiumHostAddr)
this.initMapbox()
initMapbox("homeMap", {
tileKey: "World_Imagery",
zoom: 4,
center: [122, 15],
minZoom: 2,
maxZoom: 29,
coastlineOn: false,
contourOn: false
});
Vue.config.maps["homeMap"].on('load', () => {
handleWheel("homeMap");
Vue.config.maps["homeMap"].scrollZoom.disable();
// 线
// loadVectorLayer("GSHHS_f_L1", ["line"], ["#FEFEFE"], "homeMap", 'ougp');
// 线
loadVectorLayer("contour-4500m", ["line"], ["#FEFEFE"], "none", "homeMap", 'ougp');
loadVectorLayer("contour-6000m", ["line"], ["#FEFEFE"], "none", "homeMap", 'ougp');
});
// this.imageryViewModels = setImageryViewModels(this.CesiumHostAddr)
},
methods: {
//
@ -339,7 +358,7 @@ export default {
const colors = ColorGenerator.generateDivergingColors(this.voyageList.length);
this.voyageList.forEach(element => {
//
loadVectorLayer(element.voyage_name, ["line", "symbol"], [colors[i], colors[i]], "visible", "home", "dsds");
loadVectorLayer(element.voyage_name, ["line", "symbol"], [colors[i], colors[i]], "visible", "homeMap", "dsds");
i++;
});
@ -350,85 +369,10 @@ export default {
})
},
// mapbox
initMapbox() {
const map = new window.mapboxgl.Map({
container: 'cesiumContainer',
// style: 'mapbox://styles/mapbox/standard',
style: {
"version": 8,
"name": "default_style",
// mapbox使
"sprite": `${Vue.config.baseUrl}/oe/${Vue.config.wwwrootBaseUrl}/sprites/sprite`,
// 使
"glyphs": "mapbox://fonts/mapbox/{fontstack}/{range}.pbf",
// glyphs 404
// "glyphs": `${Vue.config.baseUrl}/oe/${Vue.config.wwwrootBaseUrl}/glyphs/{fontstack}/{range}.pbf`,
"sources": {
"影像地图": {
"type": "raster",
"tiles": ["https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}"],
"tileSize": 256,
// "minzoom": 0,
// "maxzoom": baseMapMaxZoom
}
},
"layers": [
{
"id": "影像地图",
"type": "raster",
"source": "影像地图",
"layout": { visibility: "visible" },
// "minzoom": 0,
// "maxzoom": baseMapMaxZoom
}
]
},
config: {
basemap: {
theme: 'monochrome',
lightPreset: 'night'
}
},
zoom: 5,
center: [113, 15.5],
minZoom: 2,
maxZoom: 29,
trackResize: true,
scrollZoom: false, //
//
localIdeographFontFamily: "Microsoft YoHei, 'Noto Sans', 'Noto Sans CJK SC', sans-serif",
pitch: 0, // 0
bearing: 0, // 0
//
dragRotate: false,
touchZoomRotate: false,
pitchWithRotate: false,
// maxBounds: [[-180, -90], [180, 90]],// Set the map's geographical boundaries.
antialias: true,
attributionControl: false,
boxZoom: true,//trueshift
preserveDrawingBuffer: false,//truecanvas使pngmap.getCanvas().toDataURL()false
projection: 'equirectangular', // 26
});
Vue.config.maps["home"] = map;
handleWheel("home");
initSprites("home")
map.on('load', () => {
// 线
// loadVectorLayer("GSHHS_f_L1", ["line"], ["#FEFEFE"], "home", 'ougp');
// 线
loadVectorLayer("contour-4500m", ["line"], ["#FEFEFE"], "none", "home", 'ougp');
loadVectorLayer("contour-6000m", ["line"], ["#FEFEFE"], "none", "home", 'ougp');
});
},
// cesium
initCesium() {
Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkY2Y5NWY2Ni1mODQ1LTQ3YTUtYjc4Zi1jYzhjMGI2YzcxMWYiLCJpZCI6MTI5ODMwLCJpYXQiOjE2Nzk0Njk5NTd9.DTH54ioOH-HLqeNIetBe9hFyrPOX2Vp1AQmZzw8TIZ4'
this.viewer = new Cesium.Viewer('cesiumContainer', {
this.viewer = new Cesium.Viewer('homeMap', {
sceneMode: Cesium.SceneMode.SCENE2D,
shadows: false,
timeline: false,
@ -505,10 +449,10 @@ export default {
//
handleRowClick(row, column, event) {
// /
let visibility = Vue.config.maps["home"].getLayoutProperty(`vector-${row.voyage_name}-symbol`, "visibility");
let visibility = Vue.config.maps["homeMap"].getLayoutProperty(`vector-${row.voyage_name}-symbol`, "visibility");
visibility = visibility == "visible" ? "none" : "visible";
Vue.config.maps["home"].setLayoutProperty(`vector-${row.voyage_name}-symbol`, "visibility", visibility);
Vue.config.maps["home"].setLayoutProperty(`vector-${row.voyage_name}-line`, "visibility", visibility);
Vue.config.maps["homeMap"].setLayoutProperty(`vector-${row.voyage_name}-symbol`, "visibility", visibility);
Vue.config.maps["homeMap"].setLayoutProperty(`vector-${row.voyage_name}-line`, "visibility", visibility);
this.$refs.multipleTable.toggleRowSelection(row);
return;
@ -573,8 +517,8 @@ export default {
//
voyagesToRemove.forEach(voyage => {
// this.removeSingleLineImg(voyage);
Vue.config.maps["home"].setLayoutProperty(`vector-${voyage}-symbol`, "visibility", "none");
Vue.config.maps["home"].setLayoutProperty(`vector-${voyage}-line`, "visibility", "none");
Vue.config.maps["homeMap"].setLayoutProperty(`vector-${voyage}-symbol`, "visibility", "none");
Vue.config.maps["homeMap"].setLayoutProperty(`vector-${voyage}-line`, "visibility", "none");
});
//
@ -583,8 +527,8 @@ export default {
const correspondingItem = val.find(item => item.voyage_name === voyage);
if (correspondingItem) {
// this.addSingleLineImg(correspondingItem);
Vue.config.maps["home"].setLayoutProperty(`vector-${voyage}-symbol`, "visibility", "visible");
Vue.config.maps["home"].setLayoutProperty(`vector-${voyage}-line`, "visibility", "visible");
Vue.config.maps["homeMap"].setLayoutProperty(`vector-${voyage}-symbol`, "visibility", "visible");
Vue.config.maps["homeMap"].setLayoutProperty(`vector-${voyage}-line`, "visibility", "visible");
}
});
@ -636,11 +580,11 @@ export default {
if (index > -1) {
this.selectedDepths.splice(index, 1); //
// this.removeSingleContourLine(depth); // 线
Vue.config.maps["home"].setLayoutProperty(`vector-contour-${depth}m-line`, "visibility", "none");
Vue.config.maps["homeMap"].setLayoutProperty(`vector-contour-${depth}m-line`, "visibility", "none");
} else {
this.selectedDepths.push(depth); //
// this.addSingleContourLine(depth); // 线
Vue.config.maps["home"].setLayoutProperty(`vector-contour-${depth}m-line`, "visibility", "visible");
Vue.config.maps["homeMap"].setLayoutProperty(`vector-contour-${depth}m-line`, "visibility", "visible");
}
},
// 线