2
Google지도에 운전 경로를 표시하려면이 코드를 사용하고 있습니다. 문제는 이 다른 여러 폴리 라인을 추가 할 때마다색상입니다. 사용 된 for 루프의 마지막 색상 인 모든 폴리 라인이 동일한 색상으로 표시됩니다.지도에 여러 색상으로 여러 폴리 라인을 표시합니다.
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();
}
이 colorList는 검은 색과 녹색을 포함하고 있지만 경로가 표시 될 때 i가 녹색으로 색상 상대적으로 그들 모두를 얻을 수 (내가, 내가 항상 마지막 루프의 색상을 얻을 여러 조합을 시도했다). 아이디어를 해결하는 방법은 무엇입니까?
'DirectionConverter' 클래스를 게시 할 수 있습니까? – antonio