解決問題
開啟地圖鎖定功能,不再允許使用鼠標拖拽查看地圖,使用鼠標滾輪放大縮小查看地圖
關(guān)鍵代碼
function lock() {
let pan;
let mousezoom;
map.getInteractions().forEach(function (element) {
if (element instanceof DragPan)//獲取 控制能否使用鼠標,手指拖動地圖的對象
pan = element;
if(element instanceof MouseWheelZoom)//獲取 控制能否使用滾輪滾動放大縮小地圖的對象
mousezoom = element;
if (pan) {
pan.setActive(true);
}
if (mousezoom) {
mousezoom.setActive(true);
}
});
}
包含業(yè)務(wù)開關(guān)的代碼
function lock(lockval) {
//lockval 是業(yè)務(wù)中用來控制鎖圖標狀態(tài)的
let pan;
let mousezoom;
map.getInteractions().forEach(function (element) {
if (element instanceof DragPan)//獲取 控制能否使用鼠標,手指拖動地圖的對象
pan = element;
if(element instanceof MouseWheelZoom)//獲取 控制能否使用滾輪滾動放大縮小地圖的對象
mousezoom = element;
if (pan) {
if (lockval) {
pan.setActive(true);//此對象的setActive方法用來設(shè)置是否可以拖動滾動查看
isLock.value = !isLock.value;//isLock是業(yè)務(wù)中控制鎖的圖標的
}
else {
pan.setActive(false);
isLock.value = !isLock.value;
}
}
if (mousezoom) {
if (lockval) {
mousezoom.setActive(true);
}
else {
mousezoom.setActive(false);
}
}
});
}
文章來源:http://www.zghlxwxcb.cn/news/detail-782590.html
注:這個圖是別的大佬整理的 https://www.ktanx.com/blog/p/2656文章來源地址http://www.zghlxwxcb.cn/news/detail-782590.html
到了這里,關(guān)于openlayers實現(xiàn)鎖定地圖,不可使用鼠標拖動放大縮小地圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!