Создание объекта местоположения Android - PullRequest
19 голосов
/ 09 февраля 2011

Я использую класс Geocoder для выборки нескольких объектов местоположения, используя следующий код:

Geocoder geocoder = new Geocoder(this, Locale.getDefault());
   List<Address> addresses = geocoder.getFromLocation(LATITUDE, LONGITUDE, 3);
   Address[] addresses_array = new Address[addresses.size()];

    addresses.toArray(addresses_array);
    for( int i = 0; i < addresses_array.length; i++ ){
       //create location object here
       locOBJ.setLatitude(LATITUDE);
       locOBJ.setLongitude(LONGITUDE);
    }

Кроме того, внутри forloop я пытаюсь виртуально создать объекты местоположения для добавления в массив;

Как создать пустые объекты местоположения?

Ответы [ 2 ]

38 голосов
/ 09 февраля 2011

Предполагая, что вы ссылаетесь на android.location.Location, используйте конструктор, который принимает строку поставщика и устанавливает для нее все, что вы хотите.

4 голосов
/ 09 февраля 2011

Это не совсем то, для чего он предназначен, если вы хотите нанести материал на карту Google, вы можете заглянуть в класс GeoPoint . Вы должны использовать класс GeoPoint при работе с объектами Map OverlayItem . Что вы планируете делать с объектами Location? Также вы должны выполнить вызов getFromLocation в потоке или AsyncTask, поскольку он выполняет вызов удаленного сервера.

с использованием класса GeoPoint.

Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = geocoder.getFromLocation(LATITUDE, LONGITUDE, 3);
int size = addresses.size();
GeoPoint gp[] = new GeoPoint[size];
for(int i = 0; i<size; i++) {
   Address addr = addresses.get(i);
   gp[i] = new GeoPoint(addr.getLatitude()*1000000, 
                        address.getLongitude()*1000000);
}

Значения * 1000000, потому что GeoPoint хочет значения E6. Также следует понимать, что при отсутствии совпадений массив может иметь длину 0.

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