Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
kerer19
0 / 0 / 0
Регистрация: 20.02.2015
Сообщений: 21
#1

Android location - Программирование Android

08.05.2015, 02:36. Просмотров 549. Ответов 2
Метки нет (Все метки)

Делаю приложение с использованием google maps api, с android studio мало знаком.
в коде есть ф-я, для получения координат места нахождения клиента.

Java
1
2
3
4
5
6
7
8
9
 
public void onClickTest(View view) {
Location myLocation = LocationManager.getLastKnownLocation(provider);
 
        // Get latitude of the current location
        double lat = myLocation.getLatitude();
        double lng = myLocation.getLongitude();
//тут lat и lng передам в ф-ю для построения маркера
}
(взял с уроков старт андроид, если кто знает).

Error:Execution failed for task ':app:compileDebugJava'.
> Compilation failed; see the compiler error output for details.
Error103, 46) error: non-static method getLastKnownLocation(String) cannot be referenced from a static context
Error102, 42) error: non-static method getBestProvider(Criteria,boolean) cannot be referenced from a static context

Ошибки понятны : нет таких методов.
Есть в АС аналогичные методы.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2015, 02:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Android location (Программирование Android):

Откуда берутся атрибуты android:layout_width и android:layout_height в элементе LinearLayout? - Программирование Android
Недавно начал изучать Android API, а сегодня более менее разобрал основы синтакиса XML. Затем стал разбирать следующий пример: ...

Ошибка: Caused by Android java.lang.ClassCastException: android.app.Application cannot be cast - Программирование Android
Здравствуйте. Очень нужен ваш совет. При запуске приложения появляется ошибка: Caused by: java.lang.ClassCastException:...

Android studio, как запускать программу сразу на android смартфоне подключенному к usb? - Программирование Android
android studio, как запускать программу сразу на android смартфоне подключенному к usb?

Как приложение Android написать на С++ в Android NDK, чтоб получить *.apk? Нужен мануал - Программирование Android
Уже не в первый раз задаю вопрос. Молчание. В лучшем случае - "RTFM" и точка. Так вот, официального мануала, где есть ответ на...

Android NDK. Как пользоваться? Когда стоит использовать его вместо Android SDK? - Программирование Android
Можно ли писать в нем готовые приложения Android?

Android.support.v4.app.FragmentActivity не работает в Android Studio - Программирование Android
объясните пожалуйста,как в андроид студио добавить вышеуказанную библиотеку,чтобы работало у меня вот это Активити package...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Pablito
2495 / 1940 / 605
Регистрация: 12.05.2014
Сообщений: 6,804
Завершенные тесты: 1
08.05.2015, 08:26 #2
по идее надо сначала откуда то взять или создать объект класса LocationManager, и уже на нем вызывать getLastKnownLocation
из текста ошибки это очевидно
1
kerer19
0 / 0 / 0
Регистрация: 20.02.2015
Сообщений: 21
08.05.2015, 16:51  [ТС] #3
Спасибо сейчас попробую

Добавлено через 42 секунды
Добавлено через 7 минут
Спасибо. код переделал:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 public void onClickTest(View view) {
        mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
        Context context = this;
        LocationManager locationManager = (LocationManager)
                context.getSystemService(Context.LOCATION_SERVICE);
        Criteria criteria = new Criteria();
        String provider = locationManager.getBestProvider(criteria, true);
        Location location = locationManager.getLastKnownLocation(provider);
        // Get latitude of the current location
        double lat = location.getLatitude();
        double lng = location.getLongitude();
        mMap.addMarker(new MarkerOptions().position(new LatLng(lat, lng)).icon(
                BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_YELLOW)));
    }
Код компилируется без ошибок.
Но приложение крашится при нажатии на кнопку, которая вызывает данный метод. строчку "Context context = this;" нашел гдето, даже не помню где, скорее всего из за этого вылетает приложение.
Если кто знает - помогите.
Я новичок в даной сфере (программирование на андроид студио).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2015, 16:51
Привет! Вот еще темы с ответами:

Почему подчеркивает Location Manager? - Программирование Android
не могу понять почему подчеркивает Location Manager? раньше не подчеркивало?! т.е. даже в смысл замечания не могу въехать: ...

Как привязать Location к Button - Программирование Android
Всем привет! Не получается привязать свое место положение к Button. Помогите решить проблему,спасибо. public void...

Выбор мощного android смартфона до 10 рублей, для тестирования проектов Android Studio, что посоветуете? - Программирование Android
Какую фирму посоветуете?

Запуск игры mr.Nom через Android Studio (по книге марио цехнер программирование игр под android) - Программирование Android
Привет всем! Для тех кто читал книгу - в конце 6ой главы мы закончили писать код игры. В книге написано что - игра готова. Но в самих...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru