Я пытаюсь проверить, содержит ли моя переменная polyline
присвоенный polylineoptions
.
Когда загружается действие, автоматически вызывается метод onMapReady
, и, таким образом, я получаю ошибку компилятора, когда пытаюсь установить точки полилинии равными нулю (см. Код ниже)
Присвоение данных полилинии выглядит примерно так:
mMap = googleMap;
double[] firstCoords;
double[] lastCoords;
double[] receivedDataArray;
double latitude;
double longitude;
ArrayList<LatLng> coordList = new ArrayList<LatLng>();
coordList.clear();
polyline.setPoints(null); //ERROR HERE
for (int i = 0; i < coordinatesArray.size() - 1; i++) {
receivedDataArray = coordinatesArray.get(i);
latitude = receivedDataArray[0];
longitude = receivedDataArray[1];
coordList.add(new LatLng(latitude,longitude));
}
options = new PolylineOptions().addAll(coordList).width(10).color(Color.BLUE).geodesic(true);
polyline = mMap.addPolyline(options);
Я попытался проверить, содержит ли полилиния какие-либо данные, но я также получаю ошибки компилятора при обеих этих проверках:
if(polyline.getOptions() != null){
polyline.setPoints(null);
}
или
if(!polyline.getOptions().isEmpty()) {
polyline.setPoints(null);
}
ошибка при проверке на ноль:
java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List com.google.android.gms.maps.model.Polyline.getPoints()' on a null object reference
Как проверить, есть ли у полилинии какие-либо точки, назначенные ей при первой загрузке действия?