Skip to content

ThingsBoard 部件库地图绘制路线 ​

正文与配图来自原稿。先造带 latitude/longitude 的遥测,再在地图部件上连线。

1、生成成都范围约 20 公里内的点 ​

规则链脚本节点示例(中心:天府广场):

js
// 中心点坐标(成都天府广场)
var centerLat = 30.657952;
var centerLng = 104.066523;
// 半径约 20 公里 → 纬度度数近似
var radiusInDegrees = 20 / 111;

function getRandomPoint(centerLat, centerLng, radius) {
  var randomAngle = Math.random() * 2 * Math.PI;
  var randomRadius = radius * Math.sqrt(Math.random());
  var newLat = centerLat + (randomRadius * Math.cos(randomAngle) / 111);
  var newLng = centerLng + (randomRadius * Math.sin(randomAngle) /
    (111 * Math.cos(centerLat * Math.PI / 180)));
  return { latitude: newLat, longitude: newLng };
}

var msg = getRandomPoint(centerLat, centerLng, radiusInDegrees);
var metadata = {};
var msgType = "POST_TELEMETRY_REQUEST";
return { msg: msg, metadata: metadata, msgType: msgType };

用 Generator / 定时器周期性触发,再接 Save Timeseries,即可得到轨迹点。

2、效果 ​

规则链/数据

地图路线

3、小结 ​

地图部件依赖遥测键名与坐标体系一致;国内底图若用高德/百度,需做 WGS-84 坐标转换。