2015-12-14 19 views
2

好的編碼給大家,如何在Android谷歌地圖中按照傳遞的座標繪製線條(路線)

我的情況是這樣的;

例如我有座標,可以說他們是Q,W,E,R,T,Y,U。

我想在PolylineOptions的谷歌地圖中顯示此路線。沒關係,但我怎樣才能實時顯示傳遞的座標。

例如; Q-W-E-R-T-Y-U是以藍線顯示的路線。當我來到「R」時,Q-W-E必須用灰色(不同)線顯示。這一定是實時的。

任何想法?

+0

問得好:) –

+0

好評=) – Arda

回答

0

使用PolylineOptions你可以實現這一點。

首先保存顏色的XML文件中color.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="red">#FF0000</color> 
    <color name="yellow">#FFFF00</color> 
    <color name="green">#00FF00</color> 
    <color name="cyan">#00FFFF</color> 
    <color name="blue">#0000FF</color> 
    <color name="magenta">#FF00FF</color> 

    <array name="colors"> 
     <item>@color/red</item> 
     <item>@color/yellow</item> 
     <item>@color/green</item> 
     <item>@color/cyan</item> 
     <item>@color/blue</item> 
     <item>@color/magenta</item> 
    </array> 
</resources> 

創建Q,W,E,R,T,Y,U的經緯度對象,並將其保存到一個List然後將它傳遞到像的PolylineOptions這個。

int[] polyColor= context.getResources().getIntArray(R.array.colors); 
    for (int i = 0; i < list.size(); i++) { 
       LatLng latPoint = list.get(i); 
       googleMap.addPolyline(new PolylineOptions() 
       .add(latPoint) 
       .width(5) 
       .color(polyColor[i])); 
      } 

請確保您有更多的顏色比經緯度:)

+0

謝謝你的努力,但我已經做到了。之前繪製不是問題。問題在於如何能夠實時進行?用戶移動土地,屏幕以不同顏色着色。 – Arda

+0

@Arda只是更新latlong列表,當你到達'R'一個新的點;調用寫在答案中的代碼的最後部分。我也一樣:) –

+0

謝謝你的解決方案=) – Arda

0

後緯度搜索的,我認識到這一點的方法。我不喜歡,但它的作品。每次(當前座標發生變化),我記得我的意志。

重點在上面;

public void add(GoogleMap mGoogleMap) { 
    PolylineOptions options = new PolylineOptions().width(5).color(Color.BLUE).geodesic(true); 
    for (int z = 0; z < list.size(); z++) { 
     LatLng point = list.get(z); 
     options.add(point); 
    } 
    mGoogleMap.addPolyline(options); 
} 

每次,在某處代碼我增加經緯度到的ArrayList(在代碼列表)和調用該方法。這將是實時跟蹤。現在可以完成任何其他規範。

但我不喜歡這個邏輯,如果有其他解決方案,請寫。

=)

相關問題