Skip to content

Imagery

天地图 createTdtImageryProvider

需要在初始化前先设置天地图的 key

js
CesiumMap.TDT_KEY = "key";
  • @param
参数名type描述默认值
styleString地图图层类型;可选值(ec、cva、img、cia、ter)-
  • @returns
返回值type描述
layerObjObject返回创建的图层对象,通过 Viewer.addBaseLayer 加载。
js
let img = CM.Imagery.createTdtImageryProvider("img");
let cva = CM.Imagery.createTdtImageryProvider("cva");
viewer.addBaseLayer([img, cva]);

百度地图 createBaiduImageryProvider

  • @param
参数名type描述默认值
styleString地图图层类型;可选值(img、vec、elec、normal、dark)-
  • @returns
返回值type描述
layerObjObject返回创建的图层对象,通过 Viewer.addBaseLayer 加载。
js
// 影像
let img = CM.Imagery.createBaiduImageryProvider("img");
let vec = CM.Imagery.createBaiduImageryProvider("vec");
CM.Viewer.addBaseLayer([img, vec], true);

// 电子
let img = CM.Imagery.createBaiduImageryProvider("elec");
CM.Viewer.addBaseLayer([img], true);

腾讯地图 createTencentImageryProvider

  • @param
参数名type描述默认值
styleString地图图层类型;可选值(img,1、4)-
  • @returns
返回值type描述
layerObjObject返回创建的图层对象,通过 Viewer.addBaseLayer 加载。
js
// 影像
let img = CM.Imagery.createTencentImageryProvider("img");
let vec = CM.Imagery.createTencentImageryProvider(2);
CM.Viewer.addBaseLayer([img, vec], true);

//经典
let img = CM.Imagery.createTencentImageryProvider();
CM.Viewer.addBaseLayer([img], true);

// 墨渊
let img = CM.Imagery.createTencentImageryProvider(4);
CM.Viewer.addBaseLayer([img], true);

// 白浅
let img = CM.Imagery.createTencentImageryProvider(8);
CM.Viewer.addBaseLayer([img], true);

高德地图 createAmapImageryProvider

  • @param
参数名type描述默认值
styleString地图图层类型;可选值(img、elec、cva)-
  • @returns
返回值type描述
layerObjObject返回创建的图层对象,通过 Viewer.addBaseLayer 加载。
js
// 影像
let img = CM.Imagery.createAmapImageryProvider("img");
let cva = CM.Imagery.createAmapImageryProvider("cva");
CM.Viewer.addBaseLayer([img, cva], true);

// 电子
let img = CM.Imagery.createAmapImageryProvider("elec");
CM.Viewer.addBaseLayer([img], true);

谷歌地图 createGoogleImageryProvider

  • @param
参数名type描述默认值
styleString地图图层类型;可选值(img、elec、ter)-
  • @returns
返回值type描述
layerObjObject返回创建的图层对象,通过 Viewer.addBaseLayer 加载。
js
// 影像
let img = CM.Imagery.createGoogleImageryProvider("img");
let cva = CM.Imagery.createGoogleImageryProvider("img_cva");
viewer.addBaseLayer([img, cva], true);

// 电子
let img = CM.Imagery.createGoogleImageryProvider("elec");
viewer.addBaseLayer([img], true);

// 地形
let img = CM.Imagery.createGoogleImageryProvider("ter");
viewer.addBaseLayer([img], true);

创建自定义地图图层 createUrlImageryLayer

  • @param
参数名type描述默认值
optionsString参考 new Cesium.UrlTemplateImageryProvider 的参数-
  • @returns
返回值type描述
layerObjObject返回创建的图层对象,通过 Viewer.addBaseLayer 加载。
js
let options ={
  url: `${window.location.origin}/data/town/img_map/{z}/{x}/{y}.png`,
}
let img = CM.Imagery.createUrlImageryLayer(options);
viewer.addBaseLayer([img])

创建自定义地形图层 createUrlTerrain

  • @param
参数名type描述默认值
urlString地形数据 url-
optionsString参考 Cesium.CesiumTerrainProvider 的参数
  • @returns
返回值type描述
layerObjPromise返回创建的图层对象,通过 viewer.terrainProvider 加载。
js
let options ={
  ...
}
let terraiterrn = await CM.Imagery.createUrlTerrain(`${window.location.origin}/data/town/terrain/`,options);
viewer.terrainProvider = terraiterrn;

注意

CesiumTerrainProvider版本区别,以1.92.0版本和1.120.0版本为例!

js
// 1.92.0版本 需要new Cesium.CesiumTerrainProvider
const viewer = new Cesium.Viewer('cesiumContainer', {
    terrainProvider : new Cesium.CesiumTerrainProvider({
        url : Cesium.IonResource.fromAssetId(3956),
        requestVertexNormals : true
    })
});

// 1.120.0版本 返回的是Promise对象且不用new
try {
  const viewer = new Cesium.Viewer("cesiumContainer", {
    terrainProvider: await Cesium.CesiumTerrainProvider.fromUrl(
      Cesium.IonResource.fromAssetId(3956), {
        requestVertexNormals: true
    })
  });
} catch (error) {
  console.log(error);
}

根据 geojson 创建一个地图区域,其它区域已指定颜色填充

  • @param
参数名type描述默认值
geojsonObjectjson 数据-
bgColorString填充颜色#081122
  • @returns
返回值type描述
primitObject返回 viewer.scene.primitives.add 创建的图层对象
js
let json = require("******.json");
let primit = CM.Imagery.createGeojsonArea(json);

根据 geojson 创建一个反选遮罩,其它区域已指定颜色填充

  • @param
参数名type描述默认值
geojsonObjectjson 数据-
rgbaColorString填充 rgba 格式颜色rgba(0, 0, 0, 0.85)
  • @returns
返回值type描述
overlayAreaEntityentity返回 viewer.scene.entities.add 创建的 entity 对象
js
let json = require("******.json");
let overlayAreaEntity = CM.Imagery.createOverlayArea(json);