Отображение карты Google Android - PullRequest
0 голосов
/ 11 марта 2011

Я показываю карту Google в emaluator ..

Вот фрагмент кода ..

В данном фрагменте кода я добавил поле редактирования, используя xml, и в этом поле ввода пользователь вводит имя местоположения, которое он хочет найти.

Проблема в том, что я не могу получить имя, введенное пользователем, и выполнить поиск в соответствующем месте.

    Geocoder geoCoder = new Geocoder(this, Locale.getDefault());    
    try {

        go.setOnClickListener(new OnClickListener() {

            public void onClick(View arg0) {

                 result = edit.getText().toString();              
            }

    });

        List<Address> addresses = geoCoder.getFromLocationName(result, 5);
        String add = "";
        if (addresses.size() > 0) {
            p = new GeoPoint(
                    (int) (addresses.get(0).getLatitude() * 1E6), 
                    (int) (addresses.get(0).getLongitude() * 1E6));
            mc.animateTo(p);
            mc.setZoom(17);
            mapView.invalidate();
        }    
    } catch (IOException e) {
        e.printStackTrace();
    }

Я использовал геокодер ..

вот фрагмент кода XML ..

<EditText
android:id="@+id/edit"
android:layout_width="257px"
android:layout_height="wrap_content"
android:textSize="18sp"
>
</EditText>
<Button
android:id="@+id/button"
android:layout_width="44px"
android:layout_height="33px"
android:text="GO"
>
</Button>

Можете ли вы найти мне ошибку и исправить меня?

Ответы [ 2 ]

0 голосов
/ 11 марта 2011

Разве следующий блок кода

List<Address> addresses = geoCoder.getFromLocationName(result, 5);
        String add = "";
        if (addresses.size() > 0) {
            p = new GeoPoint(
                    (int) (addresses.get(0).getLatitude() * 1E6), 
                    (int) (addresses.get(0).getLongitude() * 1E6));
            mc.animateTo(p);
            mc.setZoom(17);
            mapView.invalidate();
        }    
    } catch (IOException e) {
        e.printStackTrace();
    }

не должен находиться внутри метода onClick?В настоящее время все, что вы делаете в onClick, это обновляет значение аргумента result.Поиск адресов и отображение на части карты после этого не вызывается

0 голосов
/ 11 марта 2011

Если вы говорите, что не можете получить имя, введенное пользователем, я собираюсь предоставить это как способ получения текста, введенного пользователем

private string getUserSearch(){
   EditText query = (EditText) findViewById(R.id.edit);
   return query.getText();
}

Тогда сделай это

public void onClick(View arg0) {
    result = getUserSearch();              
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...