Как узнать свои gps координаты на android



Map Coordinates (Карта Координаты) — это простой и удобный способ получить точные координаты на местности. Выбирайте любой из четырех вариантов карт, включая снимки со спутника и карту общественного транспорта, для каждой карты можно задать определенный масштаб. Указывайте в настройках тип координат, единицы измерения и некоторые другие параметры. Приложение умеет определять ваше точное местоположение, искать различные места на карте, сохранять в буфер обмена заданные координаты и делится данными через социальные сети.

Особенности:

  • Различные карты
  • Различные типы координат

Скачать приложение которое поможет узнать свои точные координаты — Map Coordinates на Андроид вы можете по ссылке ниже.

Разработчик: Soft Stack Dev
Платформа: Android 4.0.3 и ваше
Язык интерфейса: Русский (RUS)
Состояние: Full (Pro — Полная версия)
Root: Не нужен

— получаем данные о местоположении

Android устройства могут предоставить нам данные по нашему текущему местоположению. Это, конечно, очень удобно и вовсю используется для, например, пользования картой, получения актуальной для вашей местности информации (прогноз погоды), всевозможных чекинов и пр.

Реализация этого всего вполне проста. Мы вешаем слушателя на провайдера и получаем данные. На данный момент есть два провайдера: GPS и Network.

GPS – тут все понятно, это данные с GPS-спутников.

Network – это координаты, которые можно получить через сотовую связь или WiFi. Для этого провайдера нужен инет.

Напишем простое приложение, которое будет запрашивать и отображать координаты.

Project name: P1381_Location
Build Target: Android 2.3.3
Application name: Location
Package name: ru.startandroid.develop.p1381location
Create Activity: MainActivity

В strings.xml добавим строки:

Несколько TextView, в которые мы будем выводить данные, и кнопка для открытия настроек местоположения.

В onCreate определяем TextView-компоненты и получаем LocationManager, через который и будем работать.

В onResume вешаем слушателя с помощью метода requestLocationUpdates. На вход передаем:

— тип провайдера: GPS_PROVIDER или NETWORK_PROVIDER
— минимальное время (в миллисекундах) между получением данных. Я укажу здесь 10 секунд, мне этого вполне хватит. Если хотите получать координаты без задержек – передавайте 0. Но учитывайте, что это только минимальное время. Реальное ожидание может быть дольше.
— минимальное расстояние (в метрах). Т.е. если ваше местоположение изменилось на указанное кол-во метров, то вам придут новые координаты.
— слушатель, объект locationListener, который рассмотрим ниже

Также здесь обновляем на экране инфу о включенности провайдеров.

В onPause отключаем слушателя методом removeUpdates.

locationListener – слушатель, реализует интерфейс LocationListener с методами:

onLocationChanged – новые данные о местоположении, объект Location. Здесь мы вызываем свой метод showLocation, который на экране отобразит данные о местоположении.

onProviderDisabled – указанный провайдер был отключен юзером. В этом методе вызываем свой метод checkEnabled, который на экране обновит текущие статусы провайдеров.

onProviderEnabled – указанный провайдер был включен юзером. Тут также вызываем checkEnabled. Далее методом getLastKnownLocation (он может вернуть null) запрашиваем последнее доступное местоположение от включенного провайдера и отображаем его. Оно может быть вполне актуальным, если вы до этого использовали какое-либо приложение с определением местоположения.

onStatusChanged – изменился статус указанного провайдера. В поле status могут быть значения OUT_OF_SERVICE (данные будут недоступны долгое время), TEMPORARILY_UNAVAILABLE (данные временно недоступны), AVAILABLE (все ок, данные доступны). В этом методе мы просто выводим новый статус на экран.

Провайдеры включаются и отключаются в настройках системы. Тем самым, просто определяется доступен ли провайдер для получения от него координат. Чуть позже увидим, как можно отправить юзера в эти настройки. Программное включение/выключение провайдеров через стандартные методы недоступно.

Далее идут свои методы.

showLocation на вход берет Location, определяет его провайдера методом getProvider и отображает координаты в соответствующем текстовом поле.

formatLocation на вход берет Location, читает из него данные и форматирует из них строку. Какие данные он берет: getLatitude – широта, getLongitude – долгота, getTime – время определения.

checkEnabled определяет включены или выключены провайдеры методом isProviderEnabled и отображает эту инфу на экране.

Метод onClickLocationSettings срабатывает по нажатию кнопки Location settings и открывает настройки, чтобы пользователь мог включить или выключить провайдер. Для этого используется Intent с action = ACTION_LOCATION_SOURCE_SETTINGS.

Осталось в манифесте прописать разрешение на определение координат — ACCESS_FINE_LOCATION, которое позволит нам использовать и Network и GPS. Также существует разрешение ACCESS_COARSE_LOCATION, но оно дает доступ только к Network-провайдеру.

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

У меня на планшете сейчас выключен GPS, выключен WiFi, вставлена симка и выключен мобильный интернет.

Запускаю приложение и вижу такую картину:

GPS выключен, Network включен. Но инета нет, поэтому Network мне ничего не дает. Надо включить либо мобильный инет, либо WiFi.

Я включаю WiFi. Проходит секунд 15-20 и инфа с Network пошла

Видим широту, долготу и время.

Напомню, что мы ставили минимальную скорость обновления – 10 сек. Но у меня провайдер Network выдает данные не чаще, чем раз в минуту.

Теперь давайте включим GPS. Для этого мы специально повесили кнопку Location settings, которую надо будет нажать пользователю, чтобы перейти в настройки. Жмем кнопку.

Видим, что GPS выключен, а Network включен. Наше приложение показывало все верно.

Разумеется, GPS можно включать и выключать через быстрые настройки системы (справа сверху). Но не все пользователи об этом знают. А тут мы их точно направим.

Включаем GPS и жмем Назад, чтобы вернуться в приложение.

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

В итоге сигнал пойман и получен результат.

У GPS через какое-то время включился статус 2 (AVAILABLE).

А у Network тишина со статусом. Не знаю, нормально это или нет.

Если с GPS сигналом все ок, то каждые 10 сек вы будете получать инфу о вашем местоположении. Если убрать планшет от окна, получим плохой сигнал: данные могут приходить реже и статус у меня иногда меняется на 1 (TEMPORARILY_UNAVAILABLE).

Есть еще третий тип провайдера — PASSIVE_PROVIDER. Сам по себе этот провайдер никакие данные не вернет. Но повесив на него слушателя, вы сможете получать данные о местоположении, когда кто-то еще в системе пытается определить местоположение через обычные провайдеры. Система будет дублировать результаты и вам.

Метод getAllProviders вернет вам список всех доступных провайдеров. Метод getProviders(boolean enabledOnly) вернет либо все, либо только включенные.

Объект Location кроме координат, времени и провайдера имеет еще несколько атрибутов, которые могут прийти и пустыми:

getAccuracy – точность показания в метрах

getAltitude – высота над уровнем моря в метрах

getSpeed – скорость движения в м/с

getBearing – насколько я понял, это угол, на который текущая траектория движения отклоняется от траектории на север. Он же азимут.

Местоположение можно протестировать и через AVD эмулятор. Для этого надо в Eclipse открыть DDMS (Window > Open Perspective > DDMS) и выбрать вкладку Emulator Control. Внизу будет вкладка Manual, на которой есть поля для ввода координат и кнопка отправки.

На следующем уроке:

— создаем приложение с картой
— настраиваем карту и обрабатываем ее события
— программно меняем положение камеры

Присоединяйтесь к нам в Telegram:

— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование

— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня

— новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме

Как определить свое местоположение с помощью телефона, планшета?

Какие нужно установить приложения? Есть ли есть другие способы?

В андроид телефонах это можно сделать двумя различными способами:

  1. Во-первых некоторые модели оснащены GPS-приемниками. В общем на бюджетные смартфоны можно установить программы Навитель. И использовать их в качестве gps — навигатора.
  2. Можно использовать службу Гугла для определения местоположения посредством сигналов с вышек сотовой связи. По сравненю с использованием GPS- приемника это требует меньшего расхода заряда батареи.

У меня телефон самсунг, с андроидом. Через Плэй маркет (play market) я установила программу которая называется карты. Программа очень удобная и простая и действует абсолютно везде где есть сигнал. Недавно были в лесу, даже там прекрасно ловило и показывало мое местоположение.

в настройках телефона включить геолокацию

Сейчас у всех, даже самых маленьких человечков, есть мобильные телефоны (у многих из них, кстати, стоит интернет Мегафон на телефоне). Определив местоположение по номеру телефона, можно с высокой вероятностью найти и хозяина. Чтобы определить местоположение по номеру телефона, придуманы как легальные, так и нелегальные методы.

Из легальных отметим два – они самые распространенные

Они обязательно совершаются с согласия тех людей, чей телефон вы собираетесь отследить и отличаются лишь способом отслеживания. Если вы подключитесь к специальной для этого мобильной услуге и укажете номер отслеживаемого аппарата, то к абоненту придет СМС с запросом на подтверждение. Ну и если он не против, чтобы за ним следили, то услуга подключается (за отдельную плату). И теперь в любое время вы сможете обратиться к оператору, который узнает местоположение человека. Это способ номер один. По идее, достаточно простой и легко осуществимый.

Еще один способ – это когда все тоже самое совершает специальная программа, установленная в телефоне: вы отправляете человеку СМС с кодом, программа сразу определяет местоположение и с помощью СМС отсылает вам обратно.

Как же могут программы или операторы это сделать по номеру телефона? Всё очень просто. Когда вы не захотите обратиться к сотовому оператору, то может помочь то, что у многих телефонов есть GPS, цель которого и является — определение координат. Программка со спутника принимает данные, узнает местоположение аппарата и пересылает его вам. Это может происходить не только с помощью СМС, но и – отметкой на интерактивной карте на специальном сайте.

С помощью вышек сотовой связи операторы определяют местоположение абонента. СМС-сообщение или звонок с телефона принимает близлежащая вышка, после чего пересылает в обрабатывающий центр. Также сейчас существуют специальные программы и технологии, которые повышают точность до ±50 м). Так можно определить местоположение по номеру телефона даже с самым старым аппаратом и без GPS.

Несколько нелегальных способов определения местоположения по номеру сотового

Есть много нелегальных способов, как определить местоположение по номеру телефона. Можно установить программу или подключить услугу и без ведома другой стороны. Например, если вы хотите проследить супругу, можно закачать в ее телефон нужную программу. Программка также сможет записать и телефонные разговоры. Установка жучков – на машину, на одежду, на сумку позволит гораздо точнее определить, но и стоит это дороже. Можно определить местоположение через знакомых, которые работают сотовыми операторами или в органах безопасности, но эта возможность не у всех есть и стоит очень дорого.

Способов определить местоположение по номеру телефона существует достаточно много. И разобраться в деле сможет только специалист. В частном детективном агентстве таких специалистов вы можете спокойно найти. У профессионалов имеется широкий арсенал методов, возможностей и связей. Их услуги обойдутся вам подешевле, чем покупка информации через центр мобильной связи или подключение спецслужб.

Читайте также:
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Adblock
detector