OpenLayers自定义一个指北针控件

OpenLayers10已经不支持指北针控件,所以就要手写一个控件。

原理:获取地图的旋转角度,将元素按照一定一的计算方式进行旋转

下面上代码

 // 创建自定义指北针控件
				    const compassControl = new ol.control.Control({
				      element: document.createElement('view'),
				      
				      render: (event) => {
				        const element = compassControl.element;  // 直接访问控件的 DOM 元素
				        if (element) {
				          element.className = 'ol-compass';
				          const rotation = this.map.getView().getRotation(); // 获取地图的旋转角度
				          element.style.transform = `rotate(${(rotation) * (180 / Math.PI)}deg)`; // 旋转指北针
				        }
				      }
				    });

				    // 设置指北针控件的样式
				    const compassElement = compassControl.element;
				    compassElement.style.position = 'absolute';
				    compassElement.style.top = '50px';
				    compassElement.style.left = '10px';
				    compass
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值