ProjectionPicker是一个Cesium控件,用于轻松地在不同的地图投影之间进行切换。
可以通过npm安装ProjectionPicker,也可以将它作为JavaScript文件导入。
npm install cesium-projection-picker
<script src="path/to/ProjectionPicker.js"></script>
ProjectionPicker是一个Cesium控件,因此您可以将它添加到您的Cesium Viewer实例中。
// 创建Viewer实例
const viewer = new Cesium.Viewer("cesiumContainer");
// 添加ProjectionPicker控件
viewer.extend(new Cesium.ProjectionPickerViewModel(viewer, document.getElementById('projectionContainer')));
您可以通过构造函数的选项对象来配置ProjectionPicker实例的行为。
const options = {
// 控件的位置:'top-right', 'top-center', 'top-left', 'bottom-right', 'bottom-center', 'bottom-left'
position: 'top-right',
// 控件的初始地图投影:'3D' 或 '2D'
selectedProjection: '3D',
// 通过切换地图投影触发的事件。该函数接受一个参数,表示当前选择的地图投影。
onChange: function (projection) {
console.log('Projection changed to:', projection);
}
};
// 创建ProjectionPicker实例
const picker = new Cesium.ProjectionPickerViewModel(viewer, container, options);
container
:DOM元素,ProjectionPicker视图的容器。
position
:String,控件的位置。可选的值有:'top-right', 'top-center', 'top-left', 'bottom-right', 'bottom-center', 'bottom-left'。
selectedProjection
:String,控件的初始地图投影。可选的值有:'3D' 或 '2D'。
onChange
:Function,通过切换地图投影触发的事件。该函数接受一个参数,表示当前选择的地图投影。
destroy()
:销毁ProjectionPicker实例。changed
:当选择的地图投影更改时触发。事件对象的 projection
属性描述了新的地图投影。以下是一个使用 changed
事件的示例:picker.changed.addEventListener(function (event) {
console.log('Projection changed to:', event.projection);
});