2016-11-27 103 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));