javascript - 无效的 LngLat 对象:(NaN, NaN) - getElementById 不返回值
问题描述
用户放置一个标记,将纬度和经度添加到表单中,这个纬度和经度是根据用户对数据库的输入来填充的。当试图向用户展示他们在哪里设置标记并保存他们的纬度和经度时,我希望使用这个经度和经度数字放置地图框标记。
当使用 document.getElementById('savedlong'); 这将返回无效的 LngLat 对象:(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);
推荐阅读
- javascript - 检查用户是否使用 jQuery 滚动到 div 的底部
- javascript - 如何使用 NodeMailer(不是 SMTP)和 Promise(Bluebird)发送邮件?
- jupyter-notebook - 在python中将字符串转换为浮点数
- java - 将 Swagger 端点导出为单个 json 文件
- typescript - 打字稿部分联合类型
- java - Android工作室片段活动中的谷歌地图
- java - 使用 maven 将额外的配置文件夹添加到类路径
- quarkus - 简单的 Quarkus Kogito 项目无法构建 - 几个模棱两可且不满足的依赖项
- angular - 我是 Angular 的新手,并试图在每个(onchange)事件之后获取输入并将此输入发送到 set 方法。见下面的代码
- c# - 如果在 foxpro 中,IIF 功能是否被重新定义?