使用谷歌地图突出显示实时轨迹
Posted
技术标签:
【中文标题】使用谷歌地图突出显示实时轨迹【英文标题】:Highlight realtime track with google maps 【发布时间】:2021-12-12 05:53:48 【问题描述】:我正在制作一个控制无人机的应用,我需要显示它的飞行轨迹和显示无人机 LED 亮起位置的另一条轨迹。
无人机的追踪很容易。问题出在 LED 的轨道上。由于轨道宽度很重要,我将重叠多个圆圈(每个位置一个 - 每秒 10 个位置),因为它们具有以米为单位指定的半径属性。
当前方法的问题是无人机可以走 6 公里,但在前 600 米,应用程序开始变得非常缓慢。
使用折线的问题在于,它们的宽度以像素为单位,而不是以米为单位。
如何在不消耗大量内存的情况下实现目标?
一些考虑因素是:航迹宽度很重要,无人机大部分时间会走直线,但它可以在航点附近转弯。
我正在使用颤振与谷歌地图的谷歌官方包,但任何考虑原生 android 代码的帮助都是受欢迎的。这可能会有所帮助。
【问题讨论】:
【参考方案1】:我没有详细说明这是如何工作的,但确实有效:
// 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;
【讨论】:
以上是关于使用谷歌地图突出显示实时轨迹的主要内容,如果未能解决你的问题,请参考以下文章