如何在Android设备上显示移动轨迹

2023-12-31

我想在 Android 设备上使用 GPS 绘制我的轨迹。

我可以毫无问题地显示完整的路线,但发现在移动时很难显示轨迹。

到目前为止,我已经找到了两种不同的方法来做到这一点,但都不是特别令人满意。

METHOD 1

PolylineOptions track = new PolylineOptions();
Polyline poly;

while (moving) {
    Latlng coord = new LatLng(lat,lng);    // from LocationListener
    track.add(coord);
    if (poly != null) {
        poly.remove();
    }
    poly = map.addPolyline(track);
}

即建立折线,在添加新坐标之前将其删除,然后将其添加回来。

这速度慢得可怕。

METHOD 2

oldcoord = new LatLng(lat,lng);;

while (moving) {
    PolylineOptions track = new PolylineOptions();
    LatLng coord = new (LatLng(lat,lng);
    track.add(oldcoord);
    track.add(coord);
    map.addPolyline(track);

    oldcoord = coord;
}

即绘制一系列单折线。

虽然这种渲染速度比方法 1 快得多,但它看起来相当锯齿状,特别是在较低的缩放级别下,因为每条折线都是方形的,并且只有角实际接触。

有没有更好的方法,如果有的话,它是什么?


有一个使用 2.0 Maps API 的简单解决方案。您将通过三个步骤获得一条漂亮平滑的路线:

  1. 创建 LatLng 点列表,例如:

    List<LatLng> routePoints;
    
  2. 将路线点添加到列表中(可以/应该在循环中完成):

    routePoints.add(mapPoint);
    
  3. 创建一条折线并向其提供 LatLng 点列表,如下所示:

    Polyline route = map.addPolyline(new PolylineOptions()
      .width(_strokeWidth)
      .color(_pathColor)
      .geodesic(true)
      .zIndex(z));
    route.setPoints(routePoints);
    

试一试!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Android设备上显示移动轨迹 的相关文章

  • Unity3D构建错误

    构建播放器时出错 Win32Exception ApplicationName E adt bundle windows x86 64 20131030 sdk tools zipalign exe CommandLine 4 C User
  • Geochart 用独特的颜色填充国家/地区,并用其颜色作为图例显示国家/地区名称 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我需要用列表中指定的唯一颜色填充每个国家 并显示国家名称及其颜色作为地图下面的图例 如随附的图像所示 任何帮助将不胜感激
  • Google ARCore 域模型示例

    我正在尝试阅读并理解 Google ARCore 的域模型 特别是安卓软件开发工具包包 目前该SDK位于 preview 模式 因此没有任何教程 博客 文章等可以帮助您了解如何使用该 API 甚至 Google 本身也建议仅阅读源代码 源代
  • 正确安装 Android SDK、ADT 和 Eclipse 3.6.1

    按照 Eclipse 3 6 1 Classic 和 Android SDK 发布的说明 ADT 其中 OS 2 3 是最新的 错过了几个步骤 在 Eclipse 中加载 ADT 之前 一切似乎都正常 在此之前 将以下依赖项站点添加到列表中
  • 在 AVD 上运行 SIP 演示 Android 平台 2.3

    Android 2 3平台包含一个SIP演示项目 我想在两个 AVD 上测试这个项目 而不是在真正的 Android 设备上 我真的不知道如何继续 From 测试 SIP 应用程序 测试 SIP 应用程序 要测试 SIP 应用程序 您需要以
  • 如何更改 Google 地图标记的颜色? [复制]

    这个问题在这里已经有答案了 我正在使用 Google 地图 API 构建一张充满标记的地图 但我希望一个标记能够从其他标记中脱颖而出 我认为最简单的方法是将标记的颜色更改为蓝色 而不是红色 这是一件简单的事情还是我必须以某种方式创建一个全新
  • Android - 获取折线作为图像

    如何获取已在 Google 地图上绘制为图像的折线 只有折线 没有地图布局 我已经在 Google 地图上绘制了折线 我想将折线作为图像获取 所以只显示红线 没有任何地图 https i stack imgur com vUqS3 png
  • Android 地图:如何在地图上设置折线动画?

    当我在地图上从点 A gt B 绘制折线时 我需要用动画绘制折线 就像从 A gt B 一样 折线继续绘制 我使用下面的链接作为参考 https github com amalChandran google maps route anima
  • 像缓冲区一样围绕折线创建多边形

    我环顾四周 找到了如何获取折线并在其周围创建缓冲区的示例 这样我最终得到了一个多边形 到目前为止 我发现我需要 Minkowski Sums 来做到这一点 但我无法理解原始算法并将其转换为代码 我更喜欢 C 中的示例或算法的演练 您可以使用
  • MKMapView iOS6 上的多个 MKPolyline

    我正在与MKMapView使用绘制路线MKPolyline 我可以用一组航路点绘制单个路线 现在我想绘制多个MKPolyline是在MKMapView例如 蓝色MKPolyline from 28 102021 77 10129 to 28
  • 如何使用谷歌地图为国家着色?

    我需要根据范围 例如 人口 为世界上不同的国家着色 Red gt 100 million Green 50 99 million Ash lt 50 million 如何才能做到这一点 我的开发环境是Rails3 请帮忙 我将附上地图的示例
  • Android-sdk 管理器未显示所有包

    我有一个问题 我的 android sdk manager 突然停止显示所有软件包 它只显示已安装的软件包 你们能帮我解决这个问题吗 导航到文件 gt 设置 gt Android SDK gt SDK 更新站点选项卡 在该检查中强制 htt
  • 在 Android 中使用谷歌地图查找最近的餐厅、咖啡店和杂货店

    我正在 android sdk 中工作并使用谷歌地图 api 我想知道是否有任何方法可以从用户当前位置找到最近的餐厅或咖啡店或杂货店 有许多应用程序可用于此目的 但我想编写自己的应用程序以用于学习目的 这可能有帮助 不知道它是否适用于and
  • 如何在 Android 手机启动时打开我的 Android 应用程序? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在启动时启动应用程序 https stackoverflow com questions 6391902 how to start an application on startup 我是 And
  • 收集要安装的项目时发生错误

    当我尝试更新 Android SDK 时 出现以下错误 我应该怎么办 An error occurred while collecting items to be installed session context was profile
  • 打开和关闭 InfoWindow onclick

    任何人都可以帮助我在 eventListener 中编写代码 以便信息窗口执行以下操作 如果当前关闭则打开 并关闭 如果当前打开 我尝试了以下方法但没有成功 google maps event addListener marker clic
  • 在 PictureBox 上绘制折线

    我想在以下位置绘制折线 由一条或多条线段组成的连续线 PictureBox 在这里 我们可以通过指定每个线段的端点来创建多条线 并计算每个线段的距离 即每条线的距离 如果您想在图片框上执行此操作 最简单的方法是从PictureBox并提供当
  • 在Android中手动创建UI线程以增加其小堆栈大小

    我在主 UI 线程中遇到 StackOverflowErrors 问题 相关问题 https stackoverflow com questions 16843357 what is the android ui thread stack
  • 在Google地图中动态绘制多边形

    我是安卓新手 我一直在尝试将视野应用到谷歌地图中我当前的位置 该图显示了 iOS 中 Google 地图上的 FOV 所以基本上我做了类似的事情 添加了 5 个具有不同 alpha 的三角形 以使整个 fov 成为渐变 我必须根据设备的方位
  • Leaflet Map - 第二个多边形使第一层不可点击

    我正在制作美国社区调查数据地图 目前我有一个主要层 如下所示plotMerge incomePerCapita 它运作良好 有一个完全充实的弹出窗口 图像等等 当我添加第二层以提供县和地区边界时 区域边界变得不可单击 似乎被新层掩盖了 如果

随机推荐