我正在创建一个小型测试应用程序,以使用Google Maps Android API在Google地图上显示我的进度。 (API:Here)
我的后端为我提供有关两个给定坐标之间的折线的数据。 Android应用程序对数据进行解码并在GoogleMaps视图上绘制折线。
我希望看到我已经完成的路线。 (因此我已经推动了部件/折线的灰色。 我已经尝试着色通过计算与给定阈值的折线的最近距离而传递的折线。但我似乎无法用以下方式为折线上色:
似乎无法更新现有的折线。如果我删除所有标记,折线,..并在每个位置更改时使用更新的值重绘折线,那就非常滞后。
我想知道是否有一些更好/替代方法可以在地图上显示我的进度。
private void drawPolyline() {
if (polyLines == null) polyLines = new ArrayList<Polyline>();
if (mRouteInformation == null) return;
Log.i("NavigationActivity", "Drawing polyline");
for (int i = 0; i < mRouteInformation.getRouteGuidance().size(); i++) {
RoutePart part = mRouteInformation.getRouteGuidance().get(i);
if (part != null && part.getRouteVisualization() != null) {
List<PolylineOptions> options = MapsUtils.decodePolyLines(mRouteInformation.getRouteGuidance().get(i).getRouteVisualization());
if (options != null && options.size() > 0 && mGoogleMap != null) {
//Add the polylines to Maps.
for (PolylineOptions polylineOptions : options) {
if (!isFinishing()) {
polyLines.add(mGoogleMap.addPolyline(polylineOptions));
}
}
}
}
}
}