2017-02-27 7 views
1

私は何度も検索して答えを見つけられませんでした。 Similar to this 代替ルートへの色を変更するにはどうすればよいですか? urlDestination +"&alternatives=true" このコードを追加すると、最短ルートと代替ルートが表示されます。問題は、代替ルートの色を特定の色に変更する方法がわかりません。 例:最短ルートは青で、代替ルートは灰色である必要があります。 ヘルプが必要です。Android Googleマップ代替ルートと最短経路

Something like this... that the alternate routes should be grey

答えて

0

あなたはBelowLineを追加する必要があり、このTutorial

を確認してください。

polyLineOptions.color(Color.BLUE); 

これが役立ちます。

+0

ありがとうございますが、それは私の問題です。 :(私はすべてのルートを青に設定することしかできませんが、代替ルートの色を変更することはできませんが、これは私の古いコードでもあります。グレー。 :( –

0

これはかなり簡単です。私はあなたがルートのリストまたは配列を持っていると信じています。 これを反復して、最小距離のインデックスを見つけます。 (通常は最初のものですが、確かめてください)。

int minDistanceIndex = 0; 
int minDistance = Integer.MAX_VALUE; 
for(int i = 0; i < routes.size(); i++){ 
    Route route = routes.get(i); 
    int distance = route.getDistanceValue(); 
    if(distance < minDistance){ 
     minDistance = distance; 
     minDistanceIndex = i; 
    } 
} 

ここで、minDistanceIndexを使用してデフォルトルート(青色)と他のものを灰色で表示します。

PolylineOptions lineOptions; 
for (int i = 0; i < routes.size(); i++) { 
    points = routes.get(i).getPoints(); 
    lineOptions = new PolylineOptions(); 
    // Adding all the points in the route to LineOptions 
    lineOptions.addAll(points); 
    if(minDistanceIndex != i) { 
     lineOptions.width(15); 
     lineOptions.color(ContextCompat.getColor(getActivity(), android.R.color.darker_gray)); 
    } 
    lineOptions.clickable(true); 
    // Drawing polyline in the Google Map for the i-th route 
    if(map != null) { 
     polylines.add(map.addPolyline(lineOptions)); 
     map.setOnPolylineClickListener(polylineListener); 
    } 
} 
//finally draw the shortest route 
lineOptions = new PolylineOptions(); 
lineOptions.width(18); 
lineOptions.color(ContextCompat.getColor(getActivity(), android.R.color.holo_blue_dark)); 
// Drawing polyline in the Google Map for the i-th route 
if(map != null) { 
    polylines.add(map.addPolyline(lineOptions)); 
} 

ユーザーがちょうどGoogleマップのように別のポリラインを選択したときに色を変更するポリラインにクリックリスナーに追加することができます。

IMP:最後に最短ルートを描画する必要があります。そうしないと、そのルートの一部が代替ルートでオーバーラップする可能性があります。したがって、青色と部分的な灰色のルートが残ります。

希望します。