BaseLayerPicker

new Cesium.BaseLayerPicker(container, options)

BaseLayerPicker
BaseLayerPicker with its drop-panel open.


BaseLayerPicker是一个单按钮小部件,它显示可用图像和 地形提供者。当选择图像时,将创建并插入相应的图像层 作为图像集合的基础层;移除现有底座。地形选定后, 替换当前的地形提供程序。可用提供商列表中的每个项都包含一个名称, 一个代表性的图标,和一个工具提示显示更多的信息时,悬停。这个列表最初是 为空,必须在使用前配置,示例如下。

默认情况下,BaseLayerPicker使用默认的示例提供程序列表进行演示。 值得注意的是其中一些提供程序,例如 Esri ArcGIS and Stadia Maps, 有单独的服务条款并且需要认证才能用于生产。
Name Type Description
container Element | string 此小部件的父HTML容器节点或ID。
options object 对象,具有以下属性:
Name Type Default Description
globe Globe Globe 去使用
imageryProviderViewModels Array.<ProviderViewModel> [] optional 用于图像的ProviderViewModel实例数组。
selectedImageryProviderViewModel ProviderViewModel optional 当前基本图像层的视图模型,如果没有提供,则使用第一个可用的图像层。
terrainProviderViewModels Array.<ProviderViewModel> [] optional 用于地形的ProviderViewModel实例数组。
selectedTerrainProviderViewModel ProviderViewModel optional 当前基本地形层的视图模型,如果没有提供,则使用第一个可用的地形层。
Throws:
Example:
// In HTML head, include a link to the BaseLayerPicker.css stylesheet,
// and in the body, include: <div id="baseLayerPickerContainer"
//   style="position:absolute;top:24px;right:24px;width:38px;height:38px;"></div>

//Create the list of available providers we would like the user to select from.
//This example uses 3, OpenStreetMap, The Black Marble, and a single, non-streaming world image.
const imageryViewModels = [];
imageryViewModels.push(new Cesium.ProviderViewModel({
     name: "Open\u00adStreet\u00adMap",
     iconUrl: Cesium.buildModuleUrl("Widgets/Images/ImageryProviders/openStreetMap.png"),
     tooltip: "OpenStreetMap (OSM) is a collaborative project to create a free editable \
map of the world.\nhttp://www.openstreetmap.org",
     creationFunction: function() {
         return new Cesium.OpenStreetMapImageryProvider({
             url: "https://tile.openstreetmap.org/"
         });
     }
 }));

 imageryViewModels.push(new Cesium.ProviderViewModel({
     name: "Earth at Night",
     iconUrl: Cesium.buildModuleUrl("Widgets/Images/ImageryProviders/blackMarble.png"),
     tooltip: "The lights of cities and villages trace the outlines of civilization \
in this global view of the Earth at night as seen by NASA/NOAA's Suomi NPP satellite.",
     creationFunction: function() {
         return Cesium.IonImageryProvider.fromAssetId(3812);
     }
 }));

 imageryViewModels.push(new Cesium.ProviderViewModel({
     name: "Natural Earth\u00a0II",
     iconUrl: Cesium.buildModuleUrl("Widgets/Images/ImageryProviders/naturalEarthII.png"),
     tooltip: "Natural Earth II, darkened for contrast.\nhttp://www.naturalearthdata.com/",
     creationFunction: function() {
         return Cesium.TileMapServiceImageryProvider.fromUrl(
             Cesium.buildModuleUrl("Assets/Textures/NaturalEarthII")
         );
     }
 }));

//Create a CesiumWidget without imagery, if you haven't already done so.
const cesiumWidget = new Cesium.CesiumWidget("cesiumContainer", { baseLayer: false });

//Finally, create the baseLayerPicker widget using our view models.
const layers = cesiumWidget.imageryLayers;
const baseLayerPicker = new Cesium.BaseLayerPicker("baseLayerPickerContainer", {
    globe: cesiumWidget.scene.globe,
    imageryProviderViewModels: imageryViewModels
});
See:

Members

获取父容器。
获取视图模型。

Methods

销毁小部件。如果从布局中永久删除小部件, 则应该调用。
Returns:
如果对象已被销毁,则为true,否则为false。
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.