底图选择器不起作用
base map selector does not work
我正在将代码中的默认底图更改为 mapbox.streets。但它不会再从 baseLayerPicker 小部件更新 baselayer。
var viewer = new Cesium.Viewer('cesiumContainer',{
animation : false,
homeButton : false,
baseLayerPicker : true,
infoBox : true,
sceneModePicker : true,
timeline : false,
navigationInstructionsInitiallyVisible : false,
navigationHelpButton : false,
contextOptions: {
webgl:{preserveDrawingBuffer:true}
},
selectionIndicator : false,
});
var layers = viewer.imageryLayers;
var baseLayer = layers.get(0);
layers.remove(baseLayer);
layers.addImageryProvider(new Cesium.MapboxImageryProvider({
url : 'https://api.mapbox.com/v4/',
mapId: 'mapbox.streets',
}));
我错过了什么吗?非常感谢任何帮助。
在您发布的代码中,您在构建查看器(以及 baseLayerPicker)之后换出图像层。您需要做的是确保预先使用正确的选项构造 baseLayerPicker,以预 select 您想要的基础层。代码如下所示:
var imageryProviders = Cesium.createDefaultImageryProviderViewModels();
var selectedImageryProviderIndex = 4; // MapBox Street is 5th in the list.
var viewer = new Cesium.Viewer('cesiumContainer', {
imageryProviderViewModels: imageryProviders,
selectedImageryProviderViewModel: imageryProviders[selectedImageryProviderIndex]
});
当您 运行 这样做时,您会注意到 baseLayerPicker 以正确的项目开始 selected,并且仍然提供换出其他基础层的选项。
我正在将代码中的默认底图更改为 mapbox.streets。但它不会再从 baseLayerPicker 小部件更新 baselayer。
var viewer = new Cesium.Viewer('cesiumContainer',{
animation : false,
homeButton : false,
baseLayerPicker : true,
infoBox : true,
sceneModePicker : true,
timeline : false,
navigationInstructionsInitiallyVisible : false,
navigationHelpButton : false,
contextOptions: {
webgl:{preserveDrawingBuffer:true}
},
selectionIndicator : false,
});
var layers = viewer.imageryLayers;
var baseLayer = layers.get(0);
layers.remove(baseLayer);
layers.addImageryProvider(new Cesium.MapboxImageryProvider({
url : 'https://api.mapbox.com/v4/',
mapId: 'mapbox.streets',
}));
我错过了什么吗?非常感谢任何帮助。
在您发布的代码中,您在构建查看器(以及 baseLayerPicker)之后换出图像层。您需要做的是确保预先使用正确的选项构造 baseLayerPicker,以预 select 您想要的基础层。代码如下所示:
var imageryProviders = Cesium.createDefaultImageryProviderViewModels();
var selectedImageryProviderIndex = 4; // MapBox Street is 5th in the list.
var viewer = new Cesium.Viewer('cesiumContainer', {
imageryProviderViewModels: imageryProviders,
selectedImageryProviderViewModel: imageryProviders[selectedImageryProviderIndex]
});
当您 运行 这样做时,您会注意到 baseLayerPicker 以正确的项目开始 selected,并且仍然提供换出其他基础层的选项。