Создание наложения местоположения на MapView, нажав кнопку - PullRequest
0 голосов
/ 18 марта 2012

В настоящее время мое приложение имеет вид карты, который создает new MyLocationOverlay в функции onCreate.

locationOverlay = new MyLocationOverlay(this, map);
locationOverlay.runOnFirstFix(centerAroundFix);
map.getOverlays().add(locationOverlay);

Я пытаюсь создать кнопку, которая делает это по выбору, во многом как карты Google.Это то, что у меня есть до сих пор.

ImageButton locButton = (ImageButton)findViewById(R.id.googlemaps_select_location);

locButton.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        locationOverlay = new MyLocationOverlay(ctx, map);
        locationOverlay.runOnFirstFix(centerAroundFix);
        map.getOverlays().add(locationOverlay);
    }
});

Единственное, что мне пришлось изменить, это «this» на «ctx».Я установил ctx = this в функции onCreate().Я также пытался использовать getApplicationContext() вместо ctx

Используя отладчик, я ломаю функцию onClick() и могу пройти через нее.После нажатия кнопки run я подключаюсь к эмулятору и использую команду geo fix, чтобы исправить эмулятор.К сожалению, centerAroundFix() никогда не вызывается.Не уверен, что я делаю не так, здесь ...

1 Ответ

0 голосов
/ 26 марта 2012

Я решил это, переместив locationOverlay = new MyLocationOverlay(ctx, map) к функции onCreate().

Возможно, locationOverlay собрать мусор, если он внутри функции onClick()?

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