Я схожу с ума последние два дня из-за ошибки IllegalArgumentException
, которую я получаю в коде Android при попытке получить координаты из адреса или даже наоборот, получите адрес из долготы и широты. Это код, но я не вижу ошибки. Это стандартный фрагмент кода, который легко найти в поиске Google.
public GeoPoint determineLatLngFromAddress(Context appContext, String strAddress) {
Geocoder geocoder = new Geocoder(appContext, Locale.getDefault());
GeoPoint g = null;
try {
System.out.println("str addres: " + strAddress);
List<Address> addresses = geocoder.getFromLocationName(strAddress, 5);
if (addresses.size() > 0) {
g = new GeoPoint(
(int) (addresses.get(0).getLatitude() * 1E6),
(int) (addresses.get(0).getLongitude() * 1E6)
);
}
} catch (Exception e) {
throw new IllegalArgumentException("locationName == null");
}
return g;
}
Это разрешения из файла manifest.xml:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
У меня тоже объявлен ключ Google API:
Из приведенного выше фрагмента кода геокодер
не является нулевым
, как и адрес
или appContext
, и я спотыкаюсь здесь: geocoder.getFromLocationName (strAddress, 5);
Я много искал в Google и не нашел ничего, что работало бы, и самая важная информация, которую я нашел, это:
Классу Geocoder требуется серверная служба, которая не включена в основном фреймворке Android.
Так вот, я сбит с толку. Что мне нужно вызвать, импортировать, добавить, использовать в коде .... чтобы это работало?
Из приведенного выше фрагмента кода геокодер
не null
, ни то, ни другое адрес
или appContext
, и я спотыкаюсь здесь: geocoder.getFromLocationName (strAddress, 5);
Я много поискал в Google и не нашел ничего, что работало, и самая важная информация, которую я нашел, такова:
Классу Geocoder требуется серверная служба, которая не включена в базовую структуру Android.
Так вот, теперь я сбит с толку. Что мне нужно вызвать, импортировать, добавить, использовать в коде .... чтобы это работало?
Из приведенного выше фрагмента кода геокодер
не null
, ни то, ни другое адрес
или appContext
, и я спотыкаюсь здесь: geocoder.getFromLocationName (strAddress, 5);
Я много поискал в Google и не нашел ничего, что работало, и самая важная информация, которую я нашел, такова:
Классу Geocoder требуется серверная служба, которая не включена в основную структуру Android.
Так вот, я сейчас сбит с толку. Что мне нужно вызвать, импортировать, добавить, использовать в коде .... чтобы это работало? ни адрес
, ни appContext
, и я спотыкаюсь здесь: geocoder.getFromLocationName (strAddress, 5);
Я много поискал в Google и не нашел ничего подходящего работал, и самая важная информация, которую я нашел, такова:
Классу Geocoder требуется серверная служба, которая не включена в базовую структуру Android.
Так вот, теперь я сбит с толку. Что мне нужно вызвать, импортировать, добавить, использовать в коде .... чтобы это работало? ни адрес
, ни appContext
, и я спотыкаюсь здесь: geocoder.getFromLocationName (strAddress, 5);
Я много поискал в Google и не нашел ничего подходящего работал, и самая важная информация, которую я нашел, такова:
Классу Geocoder требуется серверная служба, которая не включена в базовую структуру Android.
Так вот, теперь я сбит с толку. Что мне нужно вызвать, импортировать, добавить, использовать в коде .... чтобы это работало? Я использую Google API 2.2, уровень API 8. Если кто-то нашел решение для этого или указатель на документацию, чего я не обнаружил, сообщите нам об этом.