0

我正在创建应用程序来通过 GPS 绘制我的步行路径。一切都很好,当我走路时路径正在绘制,但我有一个问题 - 有可能以某种方式以编程方式使路径线更直吗?

例如。首先,走后我看到我的路径是这样的(它不是折线,在示例中是多边形,但我想你会明白的): https ://www.dropbox.com/s/763mq0wja6x7lpy/11.png

但保存后,应用程序使路径更直/更平滑: https ://www.dropbox.com/s/npwkz9coqve7m4g/22.png

这个怎么做?因为我没有任何想法。

我正在绘制路径LocationListener

LocationManager locationManager = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE);

    Criteria criteria = new Criteria();
  //criteria.setPowerRequirement(Criteria.POWER_LOW); 
    criteria.setAccuracy(Criteria.ACCURACY_FINE);
    criteria.setAltitudeRequired(false);
    criteria.setBearingRequired(false);
    criteria.setCostAllowed(true);
    criteria.setSpeedRequired(false);       
    String bestProvider = locationManager.getBestProvider(criteria, true);
    locationManager.requestLocationUpdates(bestProvider, 500, 3, this );

和 onLocationChanged 监听器:

@Override
public void onLocationChanged(Location location) {

          if(lastLocationloc == null) 
                          lastLocationloc = location;     
          LatLng lastLatLng= locationToLatLng(lastLocationloc);
          LatLng thisLatLng= locationToLatLng(location);
          mMap.addPolyline
                       (new PolylineOptions().add(lastLatLng).add(thisLatLng).width(4).color(Color.RED));
          lastLocationloc = location;             
  }
4

1 回答 1

2

LocationManager 永远不会给你确切的位置。因此,虽然您可能不会以不顺畅的方式行走,但即使您在 Criteria 中设置了非常高的准确度,您获得的 GPS 坐标也会始终不稳定。

所以,当你绘制路径时,你可以考虑使用Android 的 Path API

有关这方面的一些代码,请查看以下答案:

Android 如何沿着手指画一条平滑线

于 2013-08-13T09:02:15.057 回答