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

Сообщить что рядом маркер google maps - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android ImageView, перемещение по экране http://www.cyberforum.ru/android-dev/thread926784.html
Прошу прощения, если было, но я только недавно начал программировать на андроид, так что прошу вашей помощи. Подскажите, пожалуйста, как сделать так, чтоб мой ImageView можно было перемещать на...
Программирование Android Узнать запущена ли уже активность Как можно узнать запущена ли уже активность? нужно для того чтобы повторно предотвратить её запуск. http://www.cyberforum.ru/android-dev/thread926771.html
Программирование Android Программирование Android - CustomCoverFlow
Нужна помощь или совет, за все очень буду благодарен! Подскажите пожалуйста как мне сделать, CoverFlow - перелистываемая View (см. рис 1, 2). Скажите хотя бы что за чем делать или с чего...
Программирование Android ошибка process has stopped unexpectedly
Здорова еще раз. Я сегодня обращался к Вамб вроде решил проблему первую. Теперь вторая возникла, при запуске своей программы на эмуляторе, происходит при попытке редактирования в edittext. У меня...
Программирование Android Правильно использование переменных http://www.cyberforum.ru/android-dev/thread926740.html
Как правильно использовать переменные? В каких случаях нужно например private private GoogleMap myMap;, а в каких public static public static SharedPreferences sp; ???
Программирование Android dreamweaver на кпк здравствуйте, ребят возникла потребность приобрести телефон, чтобы править файлы на сервере. модель телефона сильно не интересует, интересуют программы типа dreamweaver которые есть для этой ос... подробнее

Показать сообщение отдельно
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
26.07.2013, 23:55
Кликните здесь для просмотра всего текста

Использование оповещений о близости
нахождения

Часто нужно сделать так, чтобы ваше приложение реагировало на при-
ближение пользователя к какой-то точке или на его удаление от нее. Опо-
вещения о близости нахождения позволяют приложению устанавливать
триггеры, которые срабатывают в момент, когда пользователь приближается
на определенное расстояние до какого-то географического местоположения
или удаляется от него.
ПРИМЕЧАНИЕ
Внутри Android могут использоваться различные Источники данных для
определения местоположения, в зависимости от того, как близко вы
находитесь от границы целевой области. Это позволяет свести к ми-
нимуму денежные затраты и потребление энергии, так как оповещения
будут генерироваться на основе данных о расстоянии от вас до внешней
границы целевой области.
Чтобы установить оповещения о близости нахождения к данной об-
ласти, нужно выбрать центральную точку (используя параметры широты
и долготы), радиус вокруг этой точки и время ожидания для генерации
оповещения. Оповещение вызовется, если устройство пересекло заданную
границу, неважно, в каком направлении.
При срабатывании оповещения о близости нахождения генерируют
Намерение, чаще всего это Широковещательное намерение. Чтобы указать,
какое именно Намерение необходимо генерировать, используйте класс
PendingIntent, который описывает Намерение в виде ссылки на метод, как
показано во фрагменте кода:
Java
1
2
3
Intent intent = new Intent(MY_ACTION);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, -1,
intent, 0);
В следующем примере устанавливается оповещение о близости нахож-
дения, которое всегда остается актуальным и срабатывает в момент при-
ближения устройства к цели ближе чем на 10 метров:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private static String TREASURE_PROXIMITY_ALERT = "com.paad.
treasurealert";
private void setProximityAlert() {
String locService = Context.LOCATION_SERVICE;
LocationManager locationManager;
locationManager = (LocationManager)getSystemService(locService);
double lat = 73.147536;
double lng = 0.510638;
float radius = 100f; // метры
long expiration = -1; // время действия не истекает
Intent intent = new Intent(TREASURE_PROXIMITY_ALERT);
PendingIntent proximityIntent = PendingIntent.getBroadcast(this, -1,
intent,
0);
locationManager.addProximityAlert(lat, lng, radius,
expiration,
proximityIntent);
}
Когда LocationManager обнаруживает, что вы пересекли границу радиуса
(то есть переместились внутрь указанного радиуса близости или наобо-
рот), упакованный объект Intent сработает с дополнительными ключами
в зависимости от того, какое значение у LocationManager.KEY_PROXIMITY_
ENTERING — true или false.
Для обработки оповещений о близости нахождения нужно создать объ-
ект BroadcastReceiver, как показано в листинге 8.3.
Листинг 8.3. Создание объекта BroadcastReceiver для приема оповещений
о близости нахождения
Java
1
2
3
4
5
6
7
8
9
public class ProximityIntentReceiver extends BroadcastReceiver {
@Override
public void onReceive (Context context, Intent intent) {
String key = LocationManager.KEY_PROXIMITY_ENTERING;
Boolean entering = intent.getBooleanExtra(key, false);
[ . . . выполнение действий, связанных с обнаружением близости
нахождения .]
}
}
Чтобы начать отслеживать оповещения о близости нахождения, заре-
гистрируйте приемник:
Java
1
2
IntentFilter filter = new IntentFilter(TREASURE_PROXIMITY_ALERT);
registerReceiver(new ProximityIntentReceiver(), filter);
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru