-1

当我尝试从数组中将点添加到 Google 地图多边形时,出现空指针异常。

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 循环中看到的那样,我想通过遍历它们来从两个数组的坐标创建一个多边形。

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

4

1 回答 1

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++)
于 2013-07-26T22:44:50.547 回答