//cesium全球30米分辨率地形资源token
|
Cesium.Ion.defaultAccessToken =
|
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI0NjBlYzRiYS0wMDRhL' +
|
'TRjZWYtODJhOS1jZTk5ZmI4ZDg5ZTIiLCJpZCI6ODI1MCwic2NvcGVzIjpbImFzciIsImdjIl0sImlhdCI6MTU1MTU3M' +
|
'DU1Mn0.yfJ_i4EPiunFj_qUftuv1ksx4pUNgnPC16vQCBGrM08';
|
|
//arcgis影像地图
|
const arcgisimageryProvider = new Cesium.ArcGisMapServerImageryProvider({
|
url: 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer'
|
});
|
const arcgisimagery = new Cesium.ImageryLayer(arcgisimageryProvider, {});
|
|
//注记
|
const imageryProvider2 = new Cesium.TileMapServiceImageryProvider({
|
url: 'http://192.168.1.21:9999/dom-zj'
|
});
|
const bdtvectoranoimagery = new Cesium.ImageryLayer(imageryProvider2, {});
|
|
//Cesium初始化--创建地图公共方法
|
function initViewer(cesiumId) {
|
let viewer = new Cesium.Viewer(cesiumId, {
|
imageryProvider: arcgisimageryProvider, // 使用世界影像
|
terrainProvider: new Cesium.CesiumTerrainProvider({
|
url: Cesium.IonResource.fromAssetId(1),
|
requestWaterMask: true, // 请求水体效果所需要的海岸线数据
|
requestVertexNormals: true // 请求地形照明数据
|
}),
|
shouldAnimate: true, // 启用动画
|
geocoder: true, // 启用地名查询
|
homeButton: true, // 启用主页按钮
|
sceneModePicker: false, // 启用场景模式选择器
|
infoBox: false, // 是否显示信息窗口
|
fullscreenButton: false,
|
selectionIndicator: false //去除原生自带绿色选择框
|
});
|
// viewer.imageryLayers.add(bdtvectoranoimagery);
|
viewer._cesiumWidget._creditContainer.style.display = 'none';
|
|
return viewer;
|
}
|
|
function creatModel(position, orientations, url, viewer) {
|
viewer.entities.add({
|
id: 'tower',
|
position: position,
|
orientation: orientations,
|
model: {
|
uri: url,
|
scale: 20,
|
shadows: Cesium.ShadowMode.DISABLED,
|
imageBasedLightingFactor: new Cesium.Cartesian2(1, 0.5)
|
}
|
});
|
}
|
|
//创建pin标签
|
function creatPin(id, position, font, color, viewer) {
|
let pinBuilder = new Cesium.PinBuilder();
|
let addPin = viewer.entities.getById(id);
|
if (addPin == undefined) {
|
viewer.entities.add({
|
id: id,
|
position: position,
|
billboard: {
|
image: pinBuilder.fromText(font, color, 36).toDataURL(),
|
verticalOrigin: Cesium.VerticalOrigin.BOTTOM
|
}
|
});
|
} else {
|
addPin.position = position;
|
}
|
}
|