簡體   English   中英

無效的 LngLat object: (NaN, NaN) - getElementById 不返回值

[英]Invalid LngLat object: (NaN, NaN) - getElementById not returning values

用戶放置一個標記,將緯度和經度添加到表單中,這個緯度和經度是根據用戶對數據庫的輸入來填充的。 當試圖向用戶展示他們在哪里設置標記並保存他們的緯度和經度時,我希望使用這個經度和經度數字放置地圖框標記。

當使用 document.getElementById('savedlong'); 這將返回 Invalid LngLat object: (NaN, NaN)。

Javascript

window.onload = function() {
    var marker_lat = document.getElementById('savedlong');
    var marker_long = document.getElementById('savedlat');

    var marker = new mapboxgl.Marker({
        element:markerElement,
        draggable: false
    })
    .setLngLat([marker_long, marker_lat])
    .addTo(map);
    }

HTML

<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordion">
          <div class="card-body">
               {% for instance in object_list %}
                    <p>Safezone name: {{instance.name}}</p>
                    <p>Alert email: {{instance.useremail}}</p>
                    <p id="savedlong">{{instance.longitudecentre}}</p>
                    <p id="savedlat">{{instance.latitudecentre}}</p>
                {% endfor %}

          </div>
      </div>

您將 html 元素傳遞給 setLngLat 而不是 p 元素內的數值,獲取該值然后解析它

const marker_lat = parseFloat(document.getElementById('savedlong').innerHTML);

暫無
暫無

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

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