Android: получил правильный лат и длинный, но маркеры печатаются не в том месте - PullRequest
0 голосов
/ 23 февраля 2011

Я выбираю все магазины в "Гетеборге" и добавляю маркер на свой mapView. Проблема в том, что с этим кодом мои маркеры сгруппированы в Африке.

Я проверил, что координаты верны, поэтому это не так.

Кто-нибудь знает, в чем проблема?

    df = ((ClassHandler)getApplication()).getStoreDatabadeFacade();

    Cursor plotstore = df.getAllStorePos("Göteborg");
    startManagingCursor(plotstore);
    plotstore.moveToFirst();

    while(plotstore.isAfterLast() == false){

        GeoPoint addStore = new GeoPoint(plotstore.getColumnIndex("lat"), plotstore.getColumnIndex("long"));
        //OverlayItem overlayitem = new OverlayItem(addStore, plotstore.getString(plotstore.getColumnIndex("_ID")), plotstore.getString(plotstore.getColumnIndex("ADDRESS")));
        OverlayItem overlayitem = new OverlayItem(addStore, plotstore.getString(plotstore.getColumnIndex("_id")), plotstore.getString(plotstore.getColumnIndex("address")));

        itemizedStoreOverlay.addOverlay(overlayitem);
        storeOverlays.add(itemizedStoreOverlay);
        plotstore.moveToNext();
    }

1 Ответ

0 голосов
/ 23 февраля 2011

Разве getColumnIndex не возвращает индекс столбца в пределах cursor, а не значение в этом индексе?Вы, кажется, используете его правильно для id:

plotstore.getString(plotstore.getColumnIndex("_id"))

, но не для lat и long:

plotstore.getColumnIndex("lat")

Попробуйте изменить это (и "long") до:

plotstore.getInt(plotstore.getColumnIndex("lat"))
...