Android从大量经/纬度点在mapView上绘制路径

标签 android gps android-mapview

我正在编写一个需要绘制由大量 GPS 点(经度+纬度)组成的“路线”的应用程序。这些点靠得很近并且不遵循道路,在每个点之间简单地画一条线是理想的。

我目前的实现速度非常慢,因为我循环遍历所有 GPS 坐标并在逐项叠加层中创建新的 Point 和 overlayitem。加载所有这些点并将它们绘制到 map View 需要大约 20 秒。有没有一种方法可以根据 GPS 坐标构建一系列线或点并将它们绘制到 map View 上?

当前实现示例:

 for each set of long+lats // removed to simplify
    point= new GeoPoint(latitude,longitude);
    overlayitem = new OverlayItem(point,"","");
    itemizedOverlay.addOverlay(overlayitem);
 mapOverlays.add(itemizedOverlay);
 mMapController.setCenter(point);

提前致谢,希望我已经解释得足够好。

最佳答案

在这里用代码示例检查我的回复:

How to draw a path on a map using kml file?

此示例解析一个 kml 文件(Google map 或 Google 地球提供的用于路线计算的 xml 格式)并将地理点绘制到 map 上。如果你已经有一个地理点列表,你可以只看 drawPath() 方法;并调整将地理坐标参数传递给它的方式(我将其封装到一个名为 NavigationDataSet 的简单 bean 中)。

关于Android从大量经/纬度点在mapView上绘制路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3387894/

相关文章:

Java - 将德语重音字符转换为两个字母等效字符

android - 位置监听器从服务工作,但不是 IntentService

react-native - 在 ClojureScript 试剂中使用 React Native MapView

android - Android Studio 生成 JavaDoc 时出错

android - 包含布局中的 NextFocus editText

android - 递归使资源管理器变慢

android - 在一次传输中将数据/文件发送到android中的服务器的最佳方式

java-me - 如何在移动设备上在室内使用 GPS?

android - 从 map View 中隐藏谷歌 Logo

android - 默认情况下,谷歌地图 GroundOverlays 是否具有抗锯齿功能?