ansel0926
2022-05-18 f0efddd9e32b9c5dc828401c4092be004b4826cf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 
 
 
VectorTileImageryProvider = Cesium.VectorTileImageryProvider;
 
viewer = new Cesium.Viewer("cesiumContainer");
var imageryProviderViewModels = viewer.baseLayerPicker.viewModel.imageryProviderViewModels;
var terrainProviderViewModels = viewer.baseLayerPicker.viewModel.terrainProviderViewModels;
viewer.baseLayerPicker.viewModel.selectedImagery = imageryProviderViewModels[imageryProviderViewModels.length - 1];
viewer.baseLayerPicker.viewModel.selectedTerrain = terrainProviderViewModels[0];
 
viewer.imageryLayers.layerAdded.addEventListener(function () {
 
    setTimeout(function () {
        viewer.imageryLayers.orderByZIndex();
    }, 200)
 
})
viewer.scene.debugShowFramesPerSecond = true;
 
var provinceLayer = null;
var shpPromises = [
    Cesium.loadBlob("./Assets/Data/shp/china/国界线.shp"),
    Cesium.loadBlob("./Assets/Data/shp/china/国界线.dbf"),
    Cesium.loadBlob("./Assets/Data/shp/china/国界线.prj"),
];
var chinaLayer = null;
Cesium.when.all(shpPromises, function (files) {
    files[0].name = "国界线.shp";
    files[1].name = "国界线.dbf";
    files[2].name = "国界线.prj";
 
 
    var shpProvider = new VectorTileImageryProvider({
        source: files,
        zIndex: 99,
        removeDuplicate: false,
        defaultStyle: {
            outlineColor: "rgb(255,0,0)",
            fillColor: "rgba(255,0,0,0.6)",
            lineWidth: 1,
            fill: false,
            tileCacheSize: 200,
            showMaker: false,
            showCenterLabel: true,
            fontColor: "rgba(255,0,0,1)",
            labelOffsetX: -10,
            labelOffsetY: -5,
            fontSize: 13,
            fontFamily: "黑体",
            centerLabelPropertyName: "NAME",
            lineCap: "round",
            shadowColor: "black",
            shadowOffsetX: 1,
            shadowOffsetY: -1,
            shadowBlur: 1,
            lineJoin: "round"
        },
        maximumLevel: 20,
        minimumLevel: 1,
        simplify: false
    });
    shpProvider.readyPromise.then(function () {
        chinaLayer = viewer.imageryLayers.addImageryProvider(shpProvider);
 
        viewer.flyTo(chinaLayer);
        Cesium.Camera.DEFAULT_VIEW_RECTANGLE = shpProvider.rectangle;
 
    });
 
});