2012-06-26 2 views
0

Bing Maps 용 EntityLayer에 여러 Pushpin 개체를 표시하려고합니다. Pushpins이 데이터를 올바르게 검색하고 EntityLayerPushpins을 올바르게 저장하는 동안 MapView에는 EntityLayer이 표시되지 않습니다.EntityLayer가 MapView에 연결되지 않았습니다.

JSONObject json = retrieveJSON(); 
JSONArray array = json.getJSONArray("Sites"); 

Coordinate closestGauge; 

fooLayer = new EntityLayer("foos"); 


for(int i = 0; i < array.length(); i++) 
{ 
    JSONObject site = array.getJSONObject(i); 
    double lon = site.getDouble("Longitude"); 
    double lat = site.getDouble("Latitude"); 
    Pushpin foo = null; 
    fooCoordinate = new Coordinate(lat, lon); 
    PushpinOptions fooData = new PushpinOptions(); 
    fooData.Text = Double.toString(site.getDouble("Data")); 
    fooData.Icon = Constants.PushpinIcons.RedFlag; 
    foo = new Pushpin(fooCoordinate, fooData); 
    _FWSGPSLayer.add(foo); 
} 

fooMap.getLayerManager().addLayer(fooLayer); 
fooLayer.updateLayer(); 

는 Debug 퍼스펙티브로 간다, 나는 EntityLayer 결코 _map 매개 변수/값은 항상 null로 설정되어 그것으로 MapView로 연결 없다고 지적했다. EntityLayer에서 setBingMapsView 메서드를 호출하는 등 레이어를 표시하는 다양한 방법을 시도했지만 지금까지 아무 것도 작동하지 않았습니다.

내가 잘못하고있는 것이 있습니까? 샘플 Bing Maps 응용 프로그램과 일치 시키려고 시도했지만 도움이되지 않았습니다.

편집 : 일부 디버깅을했는데 이것이 내가 지금까지 알아 낸 것입니다. for 루프를 주석 처리하고 단순히 단일 압핀을 추가하면 작동합니다. 이것은 Bing Maps가 추가 할 수있는 Pushpins 수에 제한이 있다고 믿게합니다. 그러나 내 배열에는 ~ 200 데이터 요소 만 포함되어 있지만 반면 상한선은 수천에 있다고 믿게되었습니다.

답변

0

글쎄, 어리석은 나를. 나의 JSONArray을 샅샅이 뒤질 때, 내 배열 전체에 흩어져있는 것으로 나타났다. Doubles 두 개가 실제로 null을 반환했다. 물론 Location 업데이 트의 거의 상수 스트림과 안드로이드 장치에서 디버깅 이후, 나는 거의 LogCat에 NullPointerException을 발견 할 수 없었다.

학습 한 결과, 항상 nulls을 확인하십시오.

관련 문제