656 lines
19 KiB
JavaScript
656 lines
19 KiB
JavaScript
|
||
import { get2DView } from '../MultiViewportMode'
|
||
import { getSdk } from '../SplitScreen'
|
||
import { flyTo } from '../global'
|
||
import Tools from '../../Tools'
|
||
|
||
let tools
|
||
let state = false
|
||
let scale = '1:100万'
|
||
|
||
function SheetIndexStatusSwitch(sdk, s = false) {
|
||
if(!sdk) {
|
||
return
|
||
}
|
||
if (!tools) {
|
||
tools = new Tools()
|
||
}
|
||
state = s ? true : false
|
||
|
||
if (state) {
|
||
changeScale(sdk, scale)
|
||
} else {
|
||
close(sdk)
|
||
}
|
||
let sdk2D = get2DView()
|
||
if (sdk2D) {
|
||
if (state) {
|
||
changeScale(sdk, scale)
|
||
} else {
|
||
close(sdk2D)
|
||
}
|
||
}
|
||
|
||
let sdkD = getSdk().sdkD
|
||
if(sdkD && sdk !== sdkD) {
|
||
SheetIndexStatusSwitch(sdkD, s)
|
||
}
|
||
|
||
// return new Promise(async (resolve, reject) => {
|
||
// setTimeout(() => {
|
||
// resolve()
|
||
// }, 1000);
|
||
// })
|
||
|
||
}
|
||
|
||
function changeScale(sdk, v) {
|
||
scale = v
|
||
if (state) {
|
||
open(sdk)
|
||
}
|
||
let sdk2D = get2DView()
|
||
if (sdk2D) {
|
||
if (state) {
|
||
open(sdk2D)
|
||
}
|
||
}
|
||
return new Promise(async (resolve, reject) => {
|
||
setTimeout(() => {
|
||
resolve()
|
||
}, 1000);
|
||
})
|
||
}
|
||
|
||
function getStatus() {
|
||
return state
|
||
}
|
||
|
||
function open(sdk) {
|
||
close(sdk)
|
||
let cartographic = sdk.viewer.camera.positionCartographic
|
||
let options = {
|
||
position: {
|
||
lng: Cesium.Math.toDegrees(cartographic.longitude),
|
||
lat: Cesium.Math.toDegrees(cartographic.latitude),
|
||
alt: cartographic.height,
|
||
},
|
||
}
|
||
let viewer = sdk.viewer;
|
||
switch (scale) {
|
||
case '1:100万':
|
||
options.position.alt = 16000000
|
||
break
|
||
case '1:50万':
|
||
options.position.alt = 5000000
|
||
break
|
||
case '1:25万':
|
||
options.position.alt = 2300000
|
||
break
|
||
case '1:10万':
|
||
options.position.alt = 680000
|
||
break
|
||
case '1:5万':
|
||
options.position.alt = 385000
|
||
break
|
||
case '1:2.5万':
|
||
options.position.alt = 180000
|
||
break
|
||
case '1:1万':
|
||
options.position.alt = 90000
|
||
break
|
||
case '1:5000':
|
||
options.position.alt = 46000
|
||
break
|
||
}
|
||
|
||
let gridPrimitives
|
||
let labelCollection
|
||
for (let i = 0; i < viewer.scene.primitives._primitives.length; i++) {
|
||
if (viewer.scene.primitives._primitives[i].name === 'SheetIndexGridPrimitives') {
|
||
gridPrimitives = viewer.scene.primitives._primitives[i];
|
||
for (let j = 0; j < gridPrimitives._primitives.length; j++) {
|
||
if (gridPrimitives._primitives[j].name === 'SheetIndexLabelCollection') {
|
||
labelCollection = gridPrimitives._primitives[j];
|
||
break;
|
||
}
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
|
||
if (!gridPrimitives) {
|
||
gridPrimitives = new Cesium.PrimitiveCollection();
|
||
gridPrimitives.name = 'SheetIndexGridPrimitives';
|
||
viewer.scene.primitives.add(gridPrimitives);
|
||
}
|
||
if (!labelCollection) {
|
||
labelCollection = new Cesium.LabelCollection();
|
||
labelCollection.name = 'SheetIndexLabelCollection';
|
||
}
|
||
|
||
let stationaryFrames = 0;
|
||
let maxRectangle = null;
|
||
gridPrimitives.postRenderEvent = () => {
|
||
let height = sdk.viewer.camera.positionCartographic.height
|
||
switch (scale) {
|
||
case '1:100万':
|
||
options.position.alt = 16000000
|
||
break
|
||
case '1:50万':
|
||
options.position.alt = 5000000
|
||
break
|
||
case '1:25万':
|
||
options.position.alt = 2300000
|
||
break
|
||
case '1:10万':
|
||
options.position.alt = 680000
|
||
break
|
||
case '1:5万':
|
||
options.position.alt = 385000
|
||
break
|
||
case '1:2.5万':
|
||
options.position.alt = 180000
|
||
break
|
||
case '1:1万':
|
||
options.position.alt = 90000
|
||
break
|
||
case '1:5000':
|
||
options.position.alt = 46000
|
||
break
|
||
}
|
||
if (height > options.position.alt * 5) {
|
||
maxRectangle = null;
|
||
gridPrimitives.removeAll();
|
||
return
|
||
}
|
||
let isChanged = false
|
||
let rectangle = getViewExtend();
|
||
|
||
let minLng = Cesium.Math.toDegrees(rectangle.west)
|
||
let minLat = Cesium.Math.toDegrees(rectangle.south)
|
||
let maxLng = Cesium.Math.toDegrees(rectangle.east)
|
||
let maxLat = Cesium.Math.toDegrees(rectangle.north)
|
||
if (minLng > maxLng) {
|
||
maxLng += 360
|
||
}
|
||
rectangle = { minLng, minLat, maxLng, maxLat }
|
||
if (maxRectangle) {
|
||
if ((maxRectangle.minLng > rectangle.minLng || maxRectangle.minLat > rectangle.minLat || maxRectangle.maxLng < rectangle.maxLng || maxRectangle.maxLat < rectangle.maxLat) && Cesium.Math.toDegrees(sdk.viewer.camera.pitch) < 0) {
|
||
isChanged = true
|
||
}
|
||
}
|
||
else {
|
||
countMapSheet(scale)
|
||
}
|
||
|
||
if (isChanged) {
|
||
stationaryFrames++;
|
||
// 确认相机已经静止足够多帧
|
||
if (stationaryFrames >= 50) {
|
||
countMapSheet(scale)
|
||
isChanged = false
|
||
}
|
||
} else {
|
||
stationaryFrames = 0;
|
||
}
|
||
}
|
||
|
||
options.complete = () => {
|
||
viewer.scene.postRender.addEventListener(gridPrimitives.postRenderEvent);
|
||
}
|
||
flyTo(sdk, options, 0.5)
|
||
|
||
/**
|
||
* 根据比例尺创建图幅线
|
||
* @param {string} scale - 比例尺(可选值:'1:100万', '1:50万', '1:25万', '1:10万', '1:5万', '1:2.5万', '1:1万', '1:5000')
|
||
*/
|
||
function countMapSheet(scale) {
|
||
labelCollection.removeAll();
|
||
gridPrimitives.removeAll();
|
||
labelCollection = new Cesium.LabelCollection();
|
||
labelCollection.name = 'SheetIndexLabelCollection';
|
||
gridPrimitives.add(labelCollection);
|
||
let rectangle = getViewExtend();
|
||
|
||
let lngStep // 经度步长
|
||
let latStep // 纬度步长
|
||
// let limitLng // 显示界限(根据图幅线数量显隐)
|
||
// let limitLat
|
||
// Math.abs(maxLng-minLng)/lngStep, Math.abs(maxLat-minLat)/latStep
|
||
let scaleByDistance
|
||
switch (scale) {
|
||
case '1:100万':
|
||
lngStep = 6;
|
||
latStep = 4;
|
||
scaleByDistance = new Cesium.NearFarScalar(
|
||
20000000,
|
||
1,
|
||
80000000,
|
||
0
|
||
)
|
||
break
|
||
case '1:50万':
|
||
lngStep = 3;
|
||
latStep = 2;
|
||
scaleByDistance = new Cesium.NearFarScalar(
|
||
5000000,
|
||
1,
|
||
30000000,
|
||
0
|
||
)
|
||
break
|
||
case '1:25万':
|
||
lngStep = 1.5;
|
||
latStep = 1;
|
||
scaleByDistance = new Cesium.NearFarScalar(
|
||
2300000,
|
||
1,
|
||
20000000,
|
||
0
|
||
)
|
||
break
|
||
case '1:10万':
|
||
lngStep = 0.5;
|
||
latStep = 1 / 3;
|
||
scaleByDistance = new Cesium.NearFarScalar(
|
||
680000,
|
||
1,
|
||
5000000,
|
||
0
|
||
)
|
||
break
|
||
case '1:5万':
|
||
lngStep = 0.25;
|
||
latStep = 1 / 6;
|
||
scaleByDistance = new Cesium.NearFarScalar(
|
||
385000,
|
||
1,
|
||
2400000,
|
||
0
|
||
)
|
||
break
|
||
case '1:2.5万':
|
||
lngStep = 0.125;
|
||
latStep = 1 / 12;
|
||
scaleByDistance = new Cesium.NearFarScalar(
|
||
180000,
|
||
1,
|
||
1200000,
|
||
0
|
||
)
|
||
break
|
||
case '1:1万':
|
||
lngStep = 0.0625;
|
||
latStep = 1 / 24;
|
||
scaleByDistance = new Cesium.NearFarScalar(
|
||
90000,
|
||
1,
|
||
700000,
|
||
0
|
||
)
|
||
break
|
||
case '1:5000':
|
||
lngStep = 0.03125;
|
||
latStep = 1 / 48;
|
||
scaleByDistance = new Cesium.NearFarScalar(
|
||
46000,
|
||
1,
|
||
300000,
|
||
0
|
||
)
|
||
break
|
||
// case '1:1000':
|
||
// lngStep = 0.01041667;
|
||
// latStep = 0.00694444;
|
||
// break
|
||
// case '1:2000':
|
||
// lngStep = 0.00520833;
|
||
// latStep = 0.00347222;
|
||
// break
|
||
}
|
||
|
||
let minLng = Math.floor((180 + Cesium.Math.toDegrees(rectangle.west)) / lngStep) * lngStep - 180;
|
||
let minLat = Math.floor((88 + Cesium.Math.toDegrees(rectangle.south)) / latStep) * latStep - 88;
|
||
let maxLng = Math.ceil((180 + Cesium.Math.toDegrees(rectangle.east)) / lngStep) * lngStep - 180;
|
||
let maxLat = Math.ceil((88 + Cesium.Math.toDegrees(rectangle.north)) / latStep) * latStep - 88;
|
||
|
||
if (minLng > maxLng) {
|
||
maxLng += 360
|
||
}
|
||
|
||
maxRectangle = { minLng, minLat, maxLng, maxLat }
|
||
if (minLat < -88) {
|
||
minLat = -88
|
||
}
|
||
if (maxLat > 88) {
|
||
maxLat = 88
|
||
}
|
||
|
||
if (((maxRectangle.maxLng - maxRectangle.minLng) / lngStep) * ((maxRectangle.maxLat - maxRectangle.minLat) / latStep) > 7000) {
|
||
maxRectangle = null
|
||
return
|
||
}
|
||
|
||
|
||
// 绘制经线
|
||
for (let lng = minLng; lng <= maxLng; lng += lngStep) {
|
||
const positions = [];
|
||
let a = []
|
||
for (let lat = minLat; Math.floor(lat * 1000000000) / 1000000000 <= maxLat; lat += (latStep / 2)) {
|
||
a.push([lng, lat])
|
||
positions.push(Cesium.Cartesian3.fromDegrees(lng, lat, 8848));
|
||
}
|
||
if (maxLat != 88 && maxLat + (latStep / 2) >= 88) {
|
||
positions.push(Cesium.Cartesian3.fromDegrees(lng, 88, 8848));
|
||
}
|
||
const geometryInstances = new Cesium.GeometryInstance({
|
||
geometry: new Cesium.PolylineGeometry({
|
||
positions: positions,
|
||
width: 1,
|
||
vertexFormat: Cesium.PerInstanceColorAppearance.VERTEX_FORMAT,
|
||
arcType: Cesium.ArcType.RHUMB,
|
||
})
|
||
});
|
||
|
||
gridPrimitives.add(new Cesium.Primitive({
|
||
geometryInstances: geometryInstances,
|
||
appearance: new Cesium.PolylineMaterialAppearance({
|
||
material: Cesium.Material.fromType('Color', {
|
||
color: Cesium.Color.fromCssColorString('#fcfc00')
|
||
})
|
||
})
|
||
}));
|
||
|
||
if (lng < maxLng) {
|
||
// 计算图幅中心坐标
|
||
for (let lat = minLat; lat < maxLat; lat += latStep) {
|
||
let position = { lng: lng + (lngStep / 2), lat: lat + (latStep / 2) };
|
||
if (position.lat > maxLat) {
|
||
break
|
||
}
|
||
let sheetNumber = calculateMapSheetNumber(position.lng, position.lat, scale);
|
||
labelCollection.add({
|
||
position: Cesium.Cartesian3.fromDegrees(position.lng, position.lat, 8848),
|
||
text: sheetNumber,
|
||
font: '16px Inter, sans-serif',
|
||
fillColor: Cesium.Color.fromCssColorString('#fcfc00'),
|
||
// backgroundColor: Cesium.Color.fromCssColorString('#FFA145'),
|
||
// backgroundPadding: new Cesium.Cartesian2(8, 4),
|
||
pixelOffset: new Cesium.Cartesian2(0, 0),
|
||
showBackground: false,
|
||
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
|
||
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
|
||
scale: 1.0,
|
||
distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 80000000),
|
||
scaleByDistance: scaleByDistance
|
||
})
|
||
// labelCollection.add({
|
||
// position: Cesium.Cartesian3.fromDegrees(position.lng, position.lat, 10000),
|
||
// text: position.lng + ' , ' + position.lat,
|
||
// font: '16px Inter, sans-serif',
|
||
// fillColor: Cesium.Color.WHITE,
|
||
// backgroundColor: Cesium.Color.fromCssColorString('#165DFF').withAlpha(0.8),
|
||
// backgroundPadding: new Cesium.Cartesian2(8, 4),
|
||
// pixelOffset: new Cesium.Cartesian2(0, 30),
|
||
// showBackground: true,
|
||
// verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
|
||
// horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
|
||
// scale: 1.0,
|
||
// distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 20000000),
|
||
// scaleByDistance: new Cesium.NearFarScalar(
|
||
// 5000000,
|
||
// 1,
|
||
// 20000000,
|
||
// 0
|
||
// )
|
||
// })
|
||
}
|
||
}
|
||
}
|
||
|
||
// 绘制纬线
|
||
for (let lat = minLat; Math.floor(lat * 1000000000) / 1000000000 <= maxLat; lat += latStep) {
|
||
const positions = [];
|
||
let a = []
|
||
for (let lng = minLng; lng <= maxLng; lng += (lngStep / 2)) {
|
||
a.push([lng, lat])
|
||
positions.push(Cesium.Cartesian3.fromDegrees(lng, lat, 8848));
|
||
}
|
||
const geometryInstances = new Cesium.GeometryInstance({
|
||
geometry: new Cesium.PolylineGeometry({
|
||
positions: positions,
|
||
width: 1,
|
||
vertexFormat: Cesium.PerInstanceColorAppearance.VERTEX_FORMAT,
|
||
arcType: Cesium.ArcType.RHUMB,
|
||
})
|
||
});
|
||
|
||
gridPrimitives.add(new Cesium.Primitive({
|
||
geometryInstances: geometryInstances,
|
||
appearance: new Cesium.PolylineMaterialAppearance({
|
||
material: Cesium.Material.fromType('Color', {
|
||
color: Cesium.Color.fromCssColorString('#fcfc00')
|
||
})
|
||
})
|
||
}));
|
||
}
|
||
|
||
}
|
||
|
||
/**
|
||
* 根据经纬度和比例尺计算地图图幅编号
|
||
* @param {number} longitude - 经度(十进制格式)
|
||
* @param {number} latitude - 纬度(十进制格式)
|
||
* @param {string} scale - 比例尺(可选值:'1:100万', '1:50万', '1:25万', '1:10万', '1:5万', '1:2.5万', '1:1万', '1:5000')
|
||
* @returns {string} 对应的图幅编号
|
||
*/
|
||
function calculateMapSheetNumber(lng, lat, scale) {
|
||
let lngStep // 经度步长
|
||
let latStep // 纬度步长
|
||
switch (scale) {
|
||
case '1:100万':
|
||
lngStep = 6;
|
||
latStep = 4;
|
||
break
|
||
case '1:50万':
|
||
lngStep = 3;
|
||
latStep = 2;
|
||
break
|
||
case '1:25万':
|
||
lngStep = 1.5;
|
||
latStep = 1;
|
||
break
|
||
case '1:10万':
|
||
lngStep = 0.5;
|
||
latStep = 1 / 3;
|
||
break
|
||
case '1:5万':
|
||
lngStep = 0.25;
|
||
latStep = 1 / 6;
|
||
break
|
||
case '1:2.5万':
|
||
lngStep = 0.125;
|
||
latStep = 1 / 12;
|
||
break
|
||
case '1:1万':
|
||
lngStep = 0.0625;
|
||
latStep = 1 / 24;
|
||
break
|
||
case '1:5000':
|
||
lngStep = 0.03125;
|
||
latStep = 1 / 48;
|
||
break
|
||
// case '1:1000':
|
||
// lngStep = 0.01041667;
|
||
// latStep = 0.00694444;
|
||
// break
|
||
// case '1:2000':
|
||
// lngStep = 0.00520833;
|
||
// latStep = 0.00347222;
|
||
// break
|
||
}
|
||
// 确保纬度在 -88 到 88 度之间(因为 88° 以上采用特殊分幅)
|
||
lat = Math.max(-88, Math.min(88, lat));
|
||
lat = Math.abs(lat); // 取绝对值
|
||
|
||
let B6 = 'ABCDEFGHIJKLMNOPQRSTUV'
|
||
let B2 = lng
|
||
let B3 = lat
|
||
|
||
// 计算 1:100 万地形图的列号
|
||
const col100W = Math.floor(B2 / 6 + 31);
|
||
// 1:100 万地形图的行号对应的字母(A-V)
|
||
const rowChar = B6.charAt(Math.floor(B3 / 4 + 1) - 1);
|
||
|
||
// 比例尺代码映射
|
||
const scaleCodeMap = {
|
||
'1:100万': '', // 1:100万不需要额外代码
|
||
'1:50万': 'B',
|
||
'1:25万': 'C',
|
||
'1:10万': 'D',
|
||
'1:5万': 'E',
|
||
'1:2.5万': 'F',
|
||
'1:1万': 'G',
|
||
'1:5000': 'H'
|
||
};
|
||
|
||
|
||
// 获取比例尺代码
|
||
const scaleCode = scaleCodeMap[scale];
|
||
if (!scaleCode && scale !== '1:100万') {
|
||
throw new Error('不支持的比例尺,请使用: 1:100万, 1:50万, 1:25万, 1:10万, 1:5万, 1:2.5万, 1:1万, 1:5000');
|
||
}
|
||
|
||
// 计算在 1:100 万图幅内的行列号(根据不同比例尺)
|
||
let rowIn100W, colIn100W;
|
||
rowIn100W = rowChar + col100W;
|
||
|
||
const num1 = Math.floor((Math.ceil(B3 / 4) * 4 - B3) / latStep) + 1;
|
||
const rowNum = ("000" + num1).slice(-3);
|
||
const remainder = B2 - Math.floor(B2 / 6) * 6;
|
||
const num2 = Math.floor(remainder / lngStep) + 1;
|
||
const colNum = ("000" + num2).slice(-3);
|
||
|
||
switch (scale) {
|
||
case '1:100万':
|
||
// 1:100万直接使用行号和列号
|
||
return rowIn100W;
|
||
case '1:50万':
|
||
break;
|
||
case '1:25万':
|
||
break;
|
||
case '1:10万':
|
||
break;
|
||
|
||
case '1:5万':
|
||
break;
|
||
|
||
case '1:2.5万':
|
||
break;
|
||
|
||
case '1:1万':
|
||
break;
|
||
|
||
case '1:5000':
|
||
break;
|
||
|
||
default:
|
||
throw new Error('不支持的比例尺');
|
||
}
|
||
|
||
// 生成最终编号
|
||
return rowIn100W + scaleCode + rowNum + colNum;
|
||
}
|
||
|
||
// 获取当前视角矩形范围(二维模式)
|
||
function getViewExtend() {
|
||
let params = {};
|
||
let extend = viewer.camera.computeViewRectangle();
|
||
if (viewer.scene.mode == 2) {
|
||
//2D下会可能拾取不到坐标,extend返回undefined,所以做以下转换
|
||
let canvas = viewer.scene.canvas;
|
||
let upperLeft = new Cesium.Cartesian2(0, 0);//canvas左上角坐标转2d坐标
|
||
let lowerRight = new Cesium.Cartesian2(
|
||
canvas.clientWidth,
|
||
canvas.clientHeight
|
||
);//canvas右下角坐标转2d坐标
|
||
|
||
let ellipsoid = viewer.scene.globe.ellipsoid;
|
||
let upperLeft3 = viewer.camera.pickEllipsoid(
|
||
upperLeft,
|
||
ellipsoid
|
||
);//2D转3D世界坐标
|
||
|
||
let lowerRight3 = viewer.camera.pickEllipsoid(
|
||
lowerRight,
|
||
ellipsoid
|
||
);//2D转3D世界坐标
|
||
|
||
if (!upperLeft3) {
|
||
let cartesian2 = Cesium.SceneTransforms.wgs84ToWindowCoordinates(viewer.scene, { x: 0, y: 0, z: 6356755 });
|
||
upperLeft.y = cartesian2.y + 5
|
||
upperLeft3 = viewer.camera.pickEllipsoid(
|
||
upperLeft,
|
||
ellipsoid
|
||
);
|
||
}
|
||
if (!lowerRight3) {
|
||
let cartesian2 = Cesium.SceneTransforms.wgs84ToWindowCoordinates(viewer.scene, { x: 0, y: 0, z: -6356755 });
|
||
lowerRight.y = cartesian2.y - 5
|
||
lowerRight3 = viewer.camera.pickEllipsoid(
|
||
lowerRight,
|
||
ellipsoid
|
||
);
|
||
// console.log('lowerRight3', lowerRight, lowerRight3)
|
||
}
|
||
let upperLeftCartographic = viewer.scene.globe.ellipsoid.cartesianToCartographic(
|
||
upperLeft3
|
||
);//3D世界坐标转弧度
|
||
let lowerRightCartographic = viewer.scene.globe.ellipsoid.cartesianToCartographic(
|
||
lowerRight3
|
||
);//3D世界坐标转弧度
|
||
|
||
if ((lowerRight.y - upperLeft.y) / (lowerRight.x - upperLeft.x) <= 0.49998752339363695) {
|
||
extend = new Cesium.Rectangle(Cesium.Math.toRadians(-180), Cesium.Math.toRadians(-90), Cesium.Math.toRadians(180), Cesium.Math.toRadians(90))
|
||
}
|
||
else {
|
||
extend = new Cesium.Rectangle(upperLeftCartographic.longitude, lowerRightCartographic.latitude, lowerRightCartographic.longitude, upperLeftCartographic.latitude);
|
||
}
|
||
|
||
// console.log("经度:" + minx + "----" + maxx);
|
||
// console.log("纬度:" + miny + "----" + maxy);
|
||
|
||
return extend;
|
||
} else {
|
||
//3D获取方式
|
||
return extend;
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
function close(sdk) {
|
||
let viewer = sdk.viewer;
|
||
let gridPrimitives
|
||
let labelCollection
|
||
for (let i = 0; i < viewer.scene.primitives._primitives.length; i++) {
|
||
if (viewer.scene.primitives._primitives[i].name === 'SheetIndexGridPrimitives') {
|
||
gridPrimitives = viewer.scene.primitives._primitives[i];
|
||
for (let j = 0; j < gridPrimitives._primitives.length; j++) {
|
||
if (gridPrimitives._primitives[j].name === 'SheetIndexLabelCollection') {
|
||
labelCollection = gridPrimitives._primitives[j];
|
||
break;
|
||
}
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
|
||
labelCollection && (labelCollection.removeAll());
|
||
gridPrimitives && (gridPrimitives.removeAll());
|
||
gridPrimitives && (viewer.scene.postRender.removeEventListener(gridPrimitives.postRenderEvent));
|
||
}
|
||
|
||
export { SheetIndexStatusSwitch, changeScale, getStatus }
|