从数组向多边形添加点

时间:2013-07-26 22:36:13

标签: java android arrays google-maps

当我尝试将点添加到数组中的Google Maps多边形时,我得到一个Null指针异常。

if(inPolygon.check(list[i].vertices, list[i].latCoords, list[i].longCoords, latitude, longitude) != true) {

    PolygonOptions rectOptions = new PolygonOptions();
                for(int n = 0; n <= list[i].vertices; n++){
                    rectOptions.add(new LatLng(list[i].latCoords[n], list[i].longCoords[n]));
                }
}

我有一个对象数组(列表),每个对象有两个数组:一个用于纬度坐标(latCoords),另一个用于经度坐标(longCoords)。我想通过迭代遍历两个数组的坐标来创建一个多边形,就像你看到for循环一样。

但是当我尝试这样做时,我一直得到一个空指针异常,我不知道为什么。我很感激这个问题的任何帮助或建议,因为我只是地图/ Android开发的初学者。

1 个答案:

答案 0 :(得分:0)

怀疑这就是问题:

for(int n = 0; n <= list[i].vertices; n++)

您在这里使用n

list[i].latCoords[n]

(与longCoords相同) - 所以当n 等于list[i].vertices时,可能是空引用。

我怀疑你希望你的循环检查严格小于(这更常见):

for (int n = 0; n < list[i].vertices; n++)