我正在创建应用程序以通过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 listener:
@覆盖
public void onLocationChanged(位置位置){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; }
答案 0 :(得分:1)
LocationManager永远不会为您提供确切的位置。因此,虽然您可能不会以不平滑的方式行走,但即使您在标准中设置了非常高的准确度,您获得的GPS坐标也总是会跳跃。
因此,当您绘制路径时,您可以考虑使用Android's Path API
对于某些代码,请看这个答案:
答案 1 :(得分:0)