2016-11-27 108 views
0

我在我的ArrayList中有一組LatLng,我想使用這些LatLng在地圖上畫一條折線。我將我的latlngs添加到PolylineOptions,然後繪製折線。但折線沒有被繪製。Polyline在Google地圖上沒有繪製

這是我的代碼片段。

PolylineOptions options = new 
PolylineOptions().width(5).color(Color.RED).geodesic(true); 

for (int k = 0; k < latLngs.size()-1; k++) { 
LatLng point = latLngs.get(i);     
options.add(point); 
} 
mMap.addPolyline(options); 
+0

你可以使用options.addAll(latLngs); - 你也可能想驗證latLngs不是空的。 –

+0

次要的事情,你的循環會盡早結束一個項目。你檢查的長度小於長度減1.因此,如果你有一個長度爲5的數組,那麼當你的循環到達第5項,索引4時,它將在內部運行條件語句之前結束。如果您檢查的是小於或等於,您只需從您的長度中減去1。在這種情況下,您可以檢查索引是否小於長度。 – LukeWaggoner

+0

我的latlngs arraylist不爲空天使Koh –

回答

0

試試這個

PolylineOptions options = new PolylineOptions().width(10).color(ContextCompat.getColor(context, R.color.color_primary)); 
options.add(new LatLng(23.229163, 72.658540)); 
options.add(new LatLng(23.212809, 72.648331)); 
options.add(new LatLng(23.214441, 72.644304)); 

Polyline polyLine = mMap.addPolyline(options); 
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(23.229163, 72.658540), 17.0f));