Полилиния не отображается на карте Google

У меня есть набор LatLngs в моем arraylist, и я хочу нарисовать ломаную линию на карте, используя эти LatLngs. Я добавляю свои latlngs в PolylineOptions, а затем рисую полилинию. Но полилиния не рисуется.

Это мой фрагмент кода.

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

person hasan_shaikh    schedule 27.11.2016    source источник
comment
вы можете просто использовать options.addAll(latLngs); - также вы можете проверить, что latLngs не пуст.   -  person Angel Koh    schedule 27.11.2016
comment
Незначительная вещь, ваш цикл завершится на один элемент раньше. Вы проверяете меньше, чем длина минус 1. Итак, если у вас есть массив длиной 5, поэтому, когда ваш цикл дойдет до элемента 5, индекс 4, он завершится до запуска условного оператора внутри. Вам нужно только вычесть 1 из вашей длины, если вы проверяете меньше или равно. В этом случае вы можете просто проверить, меньше ли индекс длины.   -  person LukeWaggoner    schedule 27.11.2016
comment
мой массив latlngs не пуст Ангел Кох   -  person hasan_shaikh    schedule 27.11.2016
comment
да, я изменил @idratherbeintheair   -  person hasan_shaikh    schedule 27.11.2016
comment
Что-нибудь в том факте, что ваш цикл для добавления точек использует k в качестве переменной индекса, а вы извлекаете свои элементы из ArrayList, используя i?   -  person LukeWaggoner    schedule 27.11.2016
comment
да ты прав   -  person hasan_shaikh    schedule 27.11.2016
comment
теперь я добавил все latlngs, как это options.addAll (latLngs);   -  person hasan_shaikh    schedule 27.11.2016
comment
но все равно полилиния не рисуется   -  person hasan_shaikh    schedule 27.11.2016
comment
Опубликуйте весь код своей активности/фрагмента. Вы видите карту, верно? Только без полилинии? Где вы добавляете полилинии на карту?   -  person LukeWaggoner    schedule 27.11.2016
comment
Теперь работает нормально спасибо за помощь   -  person hasan_shaikh    schedule 27.11.2016


Ответы (1)


Попробуй это

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));
person Bhavesh Butani    schedule 30.11.2017