2013-07-26 2 views
-1

배열에서 Google Maps 폴리곤에 포인트를 추가하려고 할 때 널 포인터 예외가 발생합니다.배열에서 다각형에 포인트 추가

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])); 
       } 
} 

는 I 개체 (리스트)의 어레이를 가지며, 각각의 객체는 두 배열 가지고 위도 좌표 (latCoords)에 대한 하나, 및 경도 좌표 (longCoords) 하나씩. for 루프에서 볼 수있는 것처럼 반복을 통해 두 배열의 좌표에서 다각형을 만들고 싶습니다.

하지만이 작업을 시도 할 때 널 포인터 예외가 계속 발생하며 이유가 확실하지 않습니다. 필자는지도/Android 개발의 초보자이므로이 문제에 대한 도움이나 제안을 보내 주시면 감사하겠습니다. 당신은 여기 n을 사용하고

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

:

+1

* * 예외가 일어나고, 당신은 list' null가 아닌'확신합니다 null이 아닌 참조 만 포함합니까? –

+0

LogCat은 점을 다각형 (116)에 추가하는 선을 가리 킵니다. 두 개의 객체가 포함되어 있으므로 목록에 null이 아닌 것으로 간주됩니다. –

답변

0

내가이 의심 문제입니다 (longCoords와 같은)

list[i].latCoords[n] 

- 그래서 n동일에있을 때 list[i].vertices이며 null 참조 일 수 있습니다. 내가 의심

당신은 루프 검사 (훨씬 더 일반적이다)보다 확실히 덜되고 싶어요 :

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

흠 .. 내가이 일을 할 때 나는 다른 오류가 난다. "IndexOutofBoundsException : 유효하지 않은 인덱스 0, 크기가 0입니다." –

+0

@RowanK : 자네는 다른 곳에서 그것을 얻는다고 생각한다. 이것이 진전이다. 다음은 * 일어나고있는 일을보고 해결해야합니다. –

+0

다각형을 만드는 선인 121 줄에서 오류가 발생한다고 말합니다. 다각형 Polygon = googleMap.addPolygon (rectOptions); –