необходимо удалить последнюю полилинию и создать текущую полилинию
я делаю карту Google с руководством Google, я использую классhttp://www.akexorcist.com/2015/12/google-direction-library-for-android-en.html что кто-то строит для Google. все хорошо работает, а ломаную показывают на карте. но когда мне нужно нажать другое направление, например направление ходьбы или направление движения, я вижу 2 полилинии на карте и хочу видеть только текущую полилинию.
здесь я создаю полилинию и удаляю полилинию в начале, тогда полилиния вообще не отображается. я не хочу этого я хочу, когда я нажимаю кнопку «еще», полилиния будет удалена. я пытаюсь поставить, polyline.remove (); при нажатии кнопки еще, но проблема в том, что, polyline.remove (); вне скобок polyline.remove (); не удаляйте ломаную линию. мне нужно вызвать polyline.remove (); когда я нажимаю другую кнопку, но я застрял. вот код:
switch (direction.getStatus()) {
case RequestResult.OK:
Route route = direction.getRouteList().get(0);
Leg leg = route.getLegList().get(0);
ArrayList<LatLng> pointList = leg.getDirectionPoint();
List<Step> stepList = direction.getRouteList().get(0).getLegList().get(0).getStepList();
ArrayList<PolylineOptions> polylineOptionList = DirectionConverter.createTransitPolyline(this, stepList, 5, Color.RED, 3, Color.BLUE);
for (PolylineOptions polylineOption : polylineOptionList) {
polyline = mMap.addPolyline(polylineOption);
polyline.remove();
}
break;
2. когда я нажимаю кнопку ходьбы, я хочу, чтобы транзитная полилиния удаляла то, что у нас есть только одна постоянная, только одна полилиния на карте. как я это делаю?
bWalking.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (locationGpsLatLng == null) {
Toast.makeText(MapsActivity.this, "Need GPS location", `enter code here`Toast.LENGTH_SHORT).show();{
return;
}
}
if (markerLocation == null) {
Toast.makeText(MapsActivity.this, "Type on marker bathroom for destination", Toast.LENGTH_SHORT).show();
} else {
sendRequestWalkingDirection();
}
};
private void sendRequestWalkingDirection() {
GoogleDirection.withServerKey(APIKEY)
.from(locationGpsLatLng)
.to(markerLocation)
.transportMode(TransportMode.WALKING)
.execute(new DirectionCallback() {
@Override
public void onDirectionSuccess(Direction direction, String rawBody) {
Log.d("onDirectionSuccess", "status: " + direction.getStatus());
requestOk(direction, rawBody);
mMap.addMarker(new MarkerOptions().position(locationGpsLatLng).draggable(false).icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_RED)));
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(locationGpsLatLng, 15);
mMap.animateCamera(cameraUpdate);
}
@Override
public void onDirectionFailure(Throwable t) {
return;
}
});
}
});