【问题标题】:android Polyline going to lag the map after whileandroid Polyline会在一段时间后滞后地图
【发布时间】:2018-11-13 18:53:43
【问题描述】:

我正在创建一个用户跟踪器项目,我想做的是在地图上绘制用户路径,我使用它的方法是折线,这是代码

public void drawOnMap(ArrayList<LatLng> directionPoints) {
    PolylineOptions rectLine = new PolylineOptions().width(5).color(Color.GREEN).geodesic(false);
    rectLine.addAll(directionPoints);

    mMap.addPolyline(rectLine);

}

但是在大​​约 500 条折线之后,地图会变得滞后,而在 1900 年之后,应用程序会崩溃

有没有更好的解决方案

【问题讨论】:

  • 只画地图能看到的东西,如果你没有必要把所有东西都画出来,因为除非你在地图上缩小,否则你看不到所有东西
  • 但是当用户缩小我想修复它时仍然存在问题
  • 那么用户需要知道缩小可能会出现性能问题,除了限制在地图上绘制的数量之外,您无能为力。在地图上绘制大量标记也会出现同样的问题
  • 还有其他解决方案我可以用来在地图上绘制用户路径
  • 折线是在地图上绘制的唯一方法。同样根据您的代码,我希望您只是在一条线上添加点,而不是重新绘制所有 latlng 点,这将是一个大问题

标签: android maps polyline google-polyline polylineoptions


【解决方案1】:

我找到了解决方案,这是正确的代码

    private Polyline polyline;
public void drawOnMap(ArrayList<LatLng> directionPoints) {
    if(polyline == null)
    {
        PolylineOptions rectLine = new PolylineOptions().width(5).color(Color.GREEN).geodesic(false);
        rectLine.addAll(directionPoints);
        polyline = mMap.addPolyline(rectLine);
    }else{
        polyline.setPoints(directionPoints);
    }
}

【讨论】:

    猜你喜欢
    • 2016-11-01
    • 1970-01-01
    • 2014-07-27
    • 1970-01-01
    • 1970-01-01
    • 2017-02-04
    • 1970-01-01
    • 1970-01-01
    • 2020-12-27
    相关资源
    最近更新 更多