[英]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.