0

Bing Mapsで複数のPushpinオブジェクトを表示しようとしています。はデータを正しく取得し、EntityLayerは正しく保存していますが、は を表示していません。PushpinsEntityLayerPushpinsMapViewEntityLayer

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();

デバッグの観点から見ると、パラメーター/値が常に に設定されているため、EntityLayerは にリンクされないことに気付きました。からメソッドを呼び出すなど、レイヤーを表示するさまざまな方法を試しましたが、これまでのところ何も機能していません。MapView_mapnullsetBingMapsViewEntityLayer

私が間違っていることはありますか?サンプルの Bing Maps アプリケーションと一致させようとしましたが、役に立ちませんでした。

編集:私はいくつかのデバッグを行いましたが、これは私がこれまでに発見したことです:forループをコメントアウトして、単一の画鋲を追加するだけで機能します。このことから、Bing Maps には追加できる画鋲の数に制限があると思われます。ただし、私の配列には最大 200 個のデータ ポイントしか含まれていませんが、上限は数千であると信じ込まされています。

4

1 に答える 1

0

まあ、愚かな私。を精査するとJSONArray、アレイ全体に散らばって、いくつかのDoublesが実際に戻ってきていることに気付きましたnull。もちろん、ほぼ一定の更新ストリームを使用して Android デバイスでデバッグしていたため、LogCat でLocationを見つけることはほとんどできませんでした。NullPointerException

教訓、常にチェックしてくださいnulls

于 2012-06-26T20:26:44.107 に答える