Ich benutze diesen Code, um eine Fahrtroute auf einer Google-Karte anzuzeigen. Das Problem ist, dass, wenn ich mehrere Polylinien mit verschiedenenFarben hinzufügen möchte, bekomme ich alle Polylinien mit der gleichen Farbe, die die letzte in der for-Schleife verwendet wird.Mehrere Polylinien mit verschiedenen Farben auf einer Karte anzeigen
public void requestDirection(final LatLng nUserCurrentLoc, final LatLng objectiveLatLng) {
Toast.makeText(getBaseContext(), "Requesting direction, just a moment...", Toast.LENGTH_SHORT).show();
GoogleDirection.withServerKey(SERVER_API_KEY)
.from(nUserCurrentLoc)
.to(objectiveLatLng)
.transportMode(TransportMode.DRIVING)
.execute(this);
uiHandler.postDelayed(new Runnable() {
@Override
public void run() {
positionCamera(nUserCurrentLoc, objectiveLatLng);
}
}, 2800);
}
@Override
public void onDirectionSuccess(Direction direction, String rawBody) {
if (direction.isOK()) {
Toast.makeText(getBaseContext(), "Routes are marked successfully...", Toast.LENGTH_SHORT).show();
final ArrayList<LatLng> directionPositionList = direction.getRouteList().get(0).getLegList().get(0).getDirectionPoint();
int zzzz = -16711681;
for(int i =0; i<colorList.size(); i++){
String pls = (String)colorList.get(i);
if (pls.equals("BLUE")) zzzz = -16711681;
else if (pls.equals("RED")) zzzz = -65281;
else if (pls.equals("GREEN")) zzzz = -256;
else if (pls.equals("BLACK")) zzzz = -7829368;
else if (pls.equals("DKGRAY")) zzzz = -3355444;
itineraryLines = mMap.addPolyline(DirectionConverter.createPolyline(getApplicationContext(),
directionPositionList, 5, zzzz));
}
}else {
Toast.makeText(getBaseContext(), "Routes are suspicious!", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onDirectionFailure(Throwable t) {
Toast.makeText(getBaseContext(), "No routes found!", Toast.LENGTH_SHORT).show();
}
color enthält schwarz und grün, aber wenn die Routen angezeigt bekomme ich sie beide mit der Farbe in Bezug auf GRÜN (ich versuchte mehrere Kombination, bekomme ich immer die Farbe der letzten Schleife). Irgendwelche Ideen, um das zu lösen?
Könnten Sie Ihre 'DirectionConverter' Klasse posten? – antonio