VectorTileImageryProvider
= Cesium.VectorTileImageryProvider;
var mtdt = new
Cesium.WebMapTileServiceImageryProvider({
url:
'http://t0.tianditu.com/img_w/wmts?',
layer:
'img',
style:
'default',
format:
'tiles',
tileMatrixSetID: 'w',
credit:
new Cesium.Credit('天地图全球影像服务'),
maximumLevel: 18
});
var terrainProvider = new
Cesium.CesiumTerrainProvider({
url:
'./sampledata/terrain/ctb-merger/'
});
var viewer = new
Cesium.Viewer('cesiumContainer', {
skyBox:
false,
skyAtmosphere: false,
imageryProvider: mtdt,
contextOptions: {
webgl: {
alpha: true
}
},
creditContainer: "creditContainer",
selectionIndicator: false,
animation:
false,
baseLayerPicker: false,
geocoder:
false,
timeline:
false,
sceneModePicker: true,
navigationHelpButton:
false,
infoBox:
false,
fullscreenButton: true
});
viewer.terrainProvider = terrainProvider;
//设置homebutton的位置
Cesium.Camera.DEFAULT_VIEW_RECTANGLE =
Cesium.Rectangle.fromDegrees(127.0, 41.0, 129.0,
43.0);//Rectangle(west, south, east, north)
//设置初始位置
viewer.camera.setView({
destination: Cesium.Cartesian3.fromDegrees(128.055, 42.006,
30000)
});
viewer.scene.debugShowFramesPerSecond =
true;//显示帧数
var provinceLayer = null;
Cesium.loadText("./sampledata/vector/bj.json").then(function
(geojson) {
geojson =
eval_r("(" + geojson + ")");
var
provinceProvider = new VectorTileImageryProvider({
source: geojson,
defaultStyle: {
outlineColor: "rgb(255,255,255)",
lineWidth: 2,
fill: true,
tileCacheSize: 200,
showMaker: false,
showCenterLabel: true,
fontColor: "rgba(255,0,0,1)",
labelOffsetX: -10,
labelOffsetY: -5,
fontSize: 13,
fontFamily: "黑体",
centerLabelPropertyName: "NAME"
},
maximumLevel: 20,
minimumLevel: 3,
simplify: false
});
provinceProvider.readyPromise.then(function () {
provinceLayer =
viewer.imageryLayers.addImageryProvider(provinceProvider);
});
})
var shpPromises2 = [
Cesium.loadBlob("./sampledata/vector/world/国家简化边界.shp"),
Cesium.loadBlob("./sampledata/vector/world/国家简化边界.dbf"),
Cesium.loadBlob("./sampledata/vector/world/国家简化边界.prj"),
];
Cesium.when.all(shpPromises2, function (files)
{
files[0].name = "国家简化边界.shp";
files[1].name = "国家简化边界.dbf";
files[2].name = "国家简化边界.prj";
var
shpLayer = null;
var
shpProvider = new VectorTileImageryProvider({
source: files,
defaultStyle: {
outlineColor: "rgb(255,255,0)",
lineWidth: 1.5,
fill: false,
tileCacheSize: 200,
showMaker: false,
showCenterLabel: true,
fontColor: "rgba(255,0,0,1)",
labelOffsetX: 0,
labelOffsetY: 0,
fontSize: 9,
fontFamily: "黑体",
lineDash: [2, 5, 2, 5],
centerLabelPropertyName: "NAME"
},
maximumLevel: 20,
minimumLevel: 1,
simplify: true
});
shpProvider.readyPromise.then(function () {
shpLayer =
viewer.imageryLayers.addImageryProvider(shpProvider);
viewer.imageryLayers.raiseToTop(chinaLayer);
});
});