簡體   English   中英

如何在異步函數內為變量使用if邏輯?

[英]how to use if logic for variable inside async function?

我正在使用地圖 API。 如果縮放級別低於 15,我嘗試隱藏標記,如果縮放級別超過 15,我會顯示標記。這是我的代碼:

const markerS = L.marker([0, 0], {icon: start}).addTo(mymap);
const api_url = 'json.php'
        async function getjson() {
        const response = await fetch(api_url);
        const data = await response.json();
        const start = (data[0])
        const zoom = mymap.getZoom();
        markerS.setLatLng([start.latitude, start.longtitude]);
        if(zoom > 15) {
        markerS.style.display == "block"
            } else {
        markerS.style.display = "none"
            }     
        }

但 if 邏輯不起作用。 console.log 顯示“未捕獲(承諾)類型錯誤:無法在 getjson 處設置未定義的屬性(設置‘顯示’)”

我該如何解決這個問題?

Leaflet 標記實例不是 DOM 元素 - 它們沒有.style屬性。 然而,它們有一個setOpacity方法。

改變

markerS.style.display == "block"
markerS.style.display = "none"

markerS.setOpacity(100);
markerS.setOpacity(0);

分別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM