我尝试解析我的 GPS 经度和纬度以使其 float ,以便我的谷歌地图可以读取它,但它只返回 NaN
。
我通过 mqtt channel 从我的 arduino 发送 float 数据,我的 html 代码正在从中读取数据,有人可能不知道为什么会失败吗?
window.initialize = initialize;
var redraw = function(payload) {
lat = parseFloat(payload.message.lat);
lng = parseFloat(payload.message.lng);
console.log(lng);
map.setCenter({ lat: 59.3559, lng:lng, alt: 0 });
mark.setPosition({ lat: 59.3559, lng:lng, alt: 0 });
lineCoords.push(new google.maps.LatLng(59.3559,lng));
最佳答案
正如我在评论中所说,消息有效负载作为字符串接收(MQTT 消息只是字节数组,由用户将它们转换为任何更高级别的格式)。
如果你想使用字符串"{lng: 18.873501}"
作为JSON对象{ "lng": 18.873501 }
你需要先解析它。
由于您尚未提供 onMessageArrived
函数,因此很难建议如何正确解决此问题,但您可以执行以下操作:
var location = JSON.parse(message.payload);
var lat = location.lat;
var lng = location.lng;
关于javascript - 当我尝试从 mqtt channel 获取纬度和经度值时,我得到 NaN 值?我尝试将它们解析为 float ,但最终仍然得到 NaN 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59280509/