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

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

有沒有辦法在 openlayers 中更新功能的樣式?

有沒有辦法在 openlayers 中更新功能的樣式?

HUH函數 2021-08-26 20:14:58
我有一些標記根據數據庫中的一些數字著色。我的腳本會定期執行詢問我的號碼的查詢。如果滿足某些條件,我希望我的標記改變顏色,例如從綠色變為黃色。一個類似的問題是這些標記的半徑在縮放地圖時應該增加。我通過更新更改縮放時喚醒的偵聽器中的半徑解決了這個問題。var currZoom = map.getView().getZoom();map.on('moveend', function(e) {    var newZoom = map.getView().getZoom();    if (currZoom != newZoom) {        console.log('zoom end, new zoom: ' + newZoom);        currZoom = newZoom;        vectorSource.clear();        var greenStyle = new ol.style.Style({            image: new ol.style.Circle({                radius: Math.pow(33,newZoom/5)/15000,                fill: new ol.style.Fill({color: 'rgba(0,255,0,0.5)'}),                stroke: new ol.style.Stroke({                    color: 'green', width: 1})            })         });         var yellowStyle = new ol.style.Style({             image: new ol.style.Circle({                 radius: Math.pow(33,newZoom/5)/15000,                 fill: new ol.style.Fill({color: 'rgba(255,255,0,0.5)'}),                 stroke: new ol.style.Stroke({                     color: 'yellow', width: 1})              })          });         var redStyle = new ol.style.Style({             image: new ol.style.Circle({                 radius: Math.pow(33,newZoom/5)/15000,                 fill: new ol.style.Fill({color: 'rgba(255,0,0,0.5)'}),                 stroke: new ol.style.Stroke({                     color: 'red', width: 1})              })          });         for(var i=0;i<Features.length;i++){             var oldcolor = Features[i]["g"]["e"]["a"]["a"];             if(oldcolor=="green" || oldcolor=="yellow" || oldcolor=="red"){                 if(oldcolor=="green"){                     Features[i].setStyle(greenStyle);                 }                 else if(oldcolor=="yellow"){                     Features[i].setStyle(yellowStyle);                 }     }}); 這有效。當我縮放半徑時,它的值會發生變化,而圓圈的尺寸也會發生變化。       我希望這會起作用,但它只會刪除我的標記。如果我放大或縮小,它們會再次出現(因為縮放偵聽器有效)。
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 303 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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