erstellen ich Google-Karte mit Google-Richtung verwende ich Klasse http://www.akexorcist.com/2015/12/google-direction-library-for-android-en.html , dass jemand für Google-Richtung bauen. Alles ist gut, und die Polylinie zeigen auf der Karte. aber wenn ich eine andere Richtung wie Laufrichtung oder Fahrtrichtung anklicken muss, sehe ich 2 Polylinien auf der Karte und möchte nur die aktuelle Polylinie sehen.müssen letzte Polylinie entfernen und aktuelle Polylinie
Hier erstelle ich die Polylinie und entfernen Sie die Polylinie am Anfang, dann die Polylinie überhaupt nicht zu zeigen. ich will das nicht. Ich möchte, wenn ich auf die Schaltfläche "sonst" klicke, wird die Polylinie entfernt. Ich versuche zu setzen, polyline.remove(); auf die Schaltfläche klicken Sie andernfalls aber das Problem, dass, wenn, polyline.remove(); außerhalb der Klammern, polyline.remove(); entferne die Polylinie nicht. Ich muss polyline.remove() aufrufen; wenn ich auf einen anderen Knopf klicke, aber ich stecke fest. hier ist der Code:
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.when i-Button in Fuß klicken möchte ich den Transit Linienzug entfernen, die wir haben nur die ganze Zeit, nur eine Polylinie in der Karte. wie mache ich das?
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;
}
});
}
});
mMap.clear(); Löschen Sie alle die Karte enthalten alle meine Markierungen ist nicht gut für mich –
Ich habe meine Antwort – Wilik
ihre Arbeit aktualisiert Vielen Dank. du bist großartig!! –