Cesium增加自定义工具栏,在工具栏中添加图标按钮实现点击图标按钮后弹出菜单,在弹出的菜单中实现地图测距功能
时间: 2024-05-10 20:17:16 浏览: 143
72.(cesium篇)cesium地图右击菜单.zip
5星 · 资源好评率100%
您可以使用Cesium的Widget类来增加自定义工具栏,具体步骤如下:
1. 创建一个Cesium的Viewer实例。
```
var viewer = new Cesium.Viewer("cesiumContainer");
```
2. 创建一个自定义的工具栏容器,并将其添加到Viewer的工具栏中。
```
var toolbar = document.createElement("div");
toolbar.className = "cesium-viewer-toolbar";
viewer.container.appendChild(toolbar);
```
3. 创建一个图标按钮,并将其添加到工具栏中。
```
var iconButton = document.createElement("button");
iconButton.className = "cesium-button cesium-toolbar-button";
iconButton.innerHTML = '<span class="cesium-button-icon"><img src="path/to/icon.png"></span><span class="cesium-button-text">测距</span>';
toolbar.appendChild(iconButton);
```
4. 给图标按钮添加点击事件,点击后弹出菜单。
```
iconButton.onclick = function() {
var menu = document.createElement("div");
menu.className = "cesium-viewer-toolbar-menu";
menu.innerHTML = '<ul><li><a href="#">测距</a></li></ul>';
toolbar.appendChild(menu);
};
```
5. 给菜单中的测距菜单项添加点击事件,点击后实现地图测距功能。
```
var drawingMode = new Cesium.DrawHandler(viewer, Cesium.DrawMode.Line);
var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
handler.setInputAction(function(click) {
var position = viewer.scene.pickPosition(click.position);
drawingMode.draw(position);
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
```
以上就是在Cesium中实现自定义工具栏,并添加图标按钮实现点击图标按钮后弹出菜单,在弹出的菜单中实现地图测距功能的步骤。
阅读全文