亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Openlayers 基于縮放的對象可見性不起作用

Openlayers 基于縮放的對象可見性不起作用

慕斯王 2023-09-21 16:34:23
我想讓我的元素基于縮放。當縮小到 19 時我不需要它可見,因為我的地圖看起來不太好。我嘗試使用maxResolution從layers.js文件派生的方法,當發現它時,因為整個地圖是由QGIS2web插件生成的。不幸的是它不起作用我也嘗試了該minZoom功能,但沒有成功。我在這里找到的所有合理的例子:https://openlayers.org/en/latest/apidoc/module-ol_View.htmlhttps://openlayers.org/en/latest/examples/layer-zoom-limits.htmlhttps://github.com/Viglino/ol-ext/issues/51另一個線程說有關更改 maxResolution 值,但它也不起作用。https://gis.stackexchange.com/questions/160725/vector-layer-visibility-using-min-maxresolution-is-not-working-in-openlayers-2最后,我的代碼如下所示:   var tekst2 = new ol.Overlay({   position: pos3,   minZoom: 19,   element: document.getElementsByClassName('tekscio')[1],   });   map.addOverlay(tekst2);我發現, minZoom 主要指的是地圖畫布的縮放下限。但這個配置:  var tekst2 = new ol.Overlay({  position: pos3,  element: document.getElementsByClassName('tekscio')[1],  maxResolution:0.42006699228392946,  });  map.addOverlay(tekst2);也沒有用。我還在這里找到了一些方法:http://dev.openlayers.org/releases/OpenLayers-2.13.1/doc/apidocs/files/deprecated-js.htmlhttp://dev.openlayers.org/docs/files/OpenLayers/Layer/FixedZoomLevels-js.html#OpenLayers.Layer.FixedZoomLevels.getOLZoomFromMapObjectZoom但看起來它們已被棄用。我應該在這段代碼中做什么?這里還需要提供我所缺少的其他東西嗎?我想要基于縮放級別的文本。以防萬一我在這里發送帶有 javascript 代碼的 JS 小提琴:https://jsfiddle.net/uxkcyomf/
查看完整描述

1 回答

?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

我想讓我的元素基于縮放。當縮小到 19 時我不需要它可見,因為我的地圖看起來不太好。

您可以簡單地根據當前縮放級別以類似于此的方式顯示/隱藏元素

var currZoom = map.getView().getZoom();

map.on("moveend", function(e) {

? var newZoom = map.getView().getZoom();

? if (currZoom != newZoom) {

? ? if (newZoom > 19) {

? ? ? ? document.getElementById("vienna").style.display = "none";

? ? } else {

? ? ? ? document.getElementById("vienna").style.display = "unset";

? ? }

? ? currZoom = newZoom;

? }

});?


查看完整回答
反對 回復 2023-09-21
  • 1 回答
  • 0 關注
  • 247 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號