Android + GoogleMapsView - представление не будет отображаться - PullRequest
1 голос
/ 20 января 2012

У меня проблема с просмотром карты Google с использованием Google API 1.6 - когда я запускаю свое приложение с помощью кнопки «отладка» в eclipse - карта просматривается правильно (но не всегда), но когда я пытаюсь запустить свое приложение с помощью «Выполнить»кнопка - карта вообще не просматривается.Я не говорю о сером экране с сеткой на нем - это просто черный экран, на котором ничего нет.Это иногда случается, когда я использую конфигурацию debg, но не так часто.Я не могу все время работать над отладкой - производительность слишком низкая.Конечно, у меня есть ключ к API Карт и добавлено разрешение на доступ в Интернет - я сделал домашнее задание.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    minDist = Double.MAX_VALUE;
    MapController mc;
    GeoPoint p;

    setContentView(R.layout.map);

    mapView = (MapView) findViewById(R.id.mapview1);
    mapView.setBuiltInZoomControls(true);

    // set coordinators of Poznan old town
    mc = mapView.getController();

    double lat = Double.parseDouble(PoznanOldTownCoordinates[0]);
    double lng = Double.parseDouble(PoznanOldTownCoordinates[1]);

    p = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6));

    mc.animateTo(p);

    // TODO: parameterize zoom
    mc.setZoom(17);

    getResources().getDrawable(R.drawable.ghost_small);

    GetPointsTask getPointsTask = new GetPointsTask(this);
    getPointsTask.execute();

    // create an overlay that shows our current location
    myLocationOverlay = new LocationOverlay(this, mapView);
    // add this overlay to the MapView and refresh it
    mapView.getOverlays().add(myLocationOverlay);
    mapView.postInvalidate();

}

Кроме того, я получил это в своем Журнале.

01-19 23:24:08.307: W/ActivityManager(53): Activity idle timeout for HistoryRecord{438226b0 beavers.miu/.activities.Map}

РЕДАКТИРОВАТЬ

Я знаю, что я сделал не так.

GetPointsTask getPointsTask = new GetPointsTask(this);
getPointsTask.execute();

Это AsyncTask, и вы не ставите AsyncTasks в методы onCreate ().Вот откуда появилась ошибка

01-19 23:24:08.307: W/ActivityManager(53): Activity idle timeout for HistoryRecord{438226b0 beavers.miu/.activities.Map}

.Я провел некоторый рефакторинг, и теперь он работает отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...