首页 > 解决方案 > 使用谷歌地图突出显示实时轨迹

问题描述

我正在制作一个控制无人机的应用程序,我需要显示它的飞行轨迹和另一个显示无人机 LED 所在位置的轨迹。

无人机的轨迹很简单。问题出在 LED 的轨道上。由于轨道宽度很重要,我重叠了多个圆圈(每个位置一个 - 每秒 10 个位置),因为它们具有以米为单位的半径属性。

当前方法的问题是无人机可以行驶 6 公里,但在前 600 米,应用程序开始变得非常缓慢。

使用折线的问题在于它们的宽度以像素为单位,而不是以米为单位。

我怎样才能在不消耗大量内存的情况下实现我的目标?

一些考虑因素是:航迹宽度很重要,无人机大部分时间会走直线,但它可以在航点附近转弯。

我将颤振与谷歌地图的谷歌官方包一起使用,但欢迎考虑本机 android 代码的任何帮助。这可能会有所帮助。

标签: androidfluttergoogle-mapsreal-time

解决方案


我没有关于它如何工作的详细信息,但有效:

// https://gis.stackexchange.com/questions/7430/what-ratio-scales-do-google-maps-zoom-levels-correspond-to
final metersPerPx = 156543.03392 *
    math.cos(currentLocation.lat * math.pi / 180) /
    math.pow(2, currentZoomLevel);
final widthInPx = widthInMeters ~/ metersPerPx;

推荐阅读