如何将latlng数组列表的值传递给多边形

时间:2019-07-25 19:37:11

标签: java android

我将坐标存储在Firebase中。并且总是以latlng类型的arraylist检索。 我的问题是如何将坐标的数组值传递给polygonpolygon。

这是我尝试过的。

private void DrawPolygon(List<LatLng> array) {
    int length = array.size();
    // Store a data object with the polygon, 
    // used here to indicate an arbitrary type.
    PolygonOptions poly = new PolygonOptions();

    for (int i = 0; i < length; i++) {
        poly.add(new LatLng(array.get(i).latitude, array.get(i).longitude));
    }
}

在运行时,不会填充多边形数组。

1 个答案:

答案 0 :(得分:0)

在尝试填充多边形之前,应检查数组的有效性。可能是引用数组中的值为空。

private void DrawPolygon(List<LatLng> array) {

int length = array.size();
// Store a data object with the polygon, 
// used here to indicate an arbitrary type.
PolygonOptions poly = new PolygonOptions();

for(int i = 0; i < length; i++){
    if(array.get(i).latitude != null &&
        array.get(i).longitude != null){
        LatLng latLong = new LatLng(array.get(i).latitude,       
                              array.get(i).longitude);
        poly.add(latLong);
    }   
}