2016-11-27 4 views
0

Ich habe eine Reihe von LatLngs in meiner Arraylist und ich möchte eine Polylinie auf die Karte mit diesen LatLngs zeichnen. Ich füge meine Breiten zu PolylineOptions und dann zeichnen die Polylinie. Aber die Polylinie wird nicht gezeichnet.Polylinie wird nicht auf der Google Karte gezeichnet

Dies ist mein Code-Snippet.

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

Sie können nur options.addAll (latLngs) verwenden; - Vielleicht möchten Sie auch überprüfen, dass latLngs nicht leer ist. –

+0

Kleinere Sache auch, Ihre Schleife wird ein Element vorzeitig beenden. Sie überprüfen mit weniger als die Länge minus 1. Wenn Sie also ein Array der Länge 5 haben, wird Ihre Schleife vor dem Ausführen der bedingten Anweisung beendet, wenn Ihre Schleife zu Element 5, Index 4, gelangt. Sie müssen nur 1 von Ihrer Länge subtrahieren, wenn Sie gegen weniger als oder gleich zu prüfen. In diesem Fall können Sie einfach überprüfen, ob der Index kleiner als die Länge ist. – LukeWaggoner

+0

meine Latlngs Arraylist ist nicht leer Angel Koh –

Antwort

0

Versuchen Sie, diese

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)); 
Verwandte Themen