当我尝试将点添加到数组中的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开发的初学者。
答案 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++)