2014-10-07 2 views
0

Я ищу простой способ проверить, находится ли пользователь в моем местоположении (50 м) радиуса, если уведомит меня.Сообщите, когда пользователь находится в моем местоположении в Android

Прямо сейчас у меня есть служба, работающая каждые две минуты, получая позицию каждого пользователя, сравнивая ее, а затем уведомляя пользователя в том же месте.

Это можно сделать, используя promixityalert: http://goo.gl/9I857T?

Спасибо!

+1

вы пытались использовать [Geofencing, сервисы Google Play] (http://developer.android.com/training/location/geofencing.html) – user2450263

+0

@ user2450263: Не требует ли геообработка LAT AND LONG значение для определенного места? Если это так, это проблема, потому что, например: если пользователь A хочет когда пользователь B и Пользователь C находятся рядом с ним, а пользователь A продолжает двигаться, тогда как работает геообработка? – TheDevMan

+0

Вы не используете lat, долго сравнивая? *** Получение позиции пользователя *** означает, в каком смысле ? Можете ли вы опубликовать какой-то код, это может помочь – user2450263

ответ

-1
Issue: Check if any user (multiple and variable location) is within specific radius of my current location(variable). 

Solution: 
1. Parse.com 
a) Ensure every user has their location updated in Parse DB including yours. 
    https://parse.com/tutorials/anywall-android 
b) Use push notificaitons: https://parse.com/docs/push_guide#setup/Android 
    1> Create a channel wherein only you are subscribed. 
    2> Create your installation query and send notification to it to the channel subscribed. 
+0

Не мог вас достать. Вы говорите, что добавление не будет работать? – TheDevMan

+0

Он будет работать. Ссылка должна была помочь вам в ее реализации. – thepace

+0

Проблема, которую я выяснил после проверки близости, заключается в том, что она требует lat, long и radius, но проблема здесь в том, что мое местоположение не является статическим. Я продолжаю двигаться - в этом случае Как использовать близость? – TheDevMan

1

Вместо этого ProximityAlert я бы использовал Geofences.

http://developer.android.com/training/location/geofencing.html

новее и делает более эффективное использование батареи

В вашем случае, вы можете иметь службу, которая отправляет к другому устройству текущее местоположение каждые Х минут, так что он может обновить Geofence. Проблема, которую я вижу, заключается в том, что будет много звонков, проводя батарею и план данных.

Хорошим подходом является использование API служб местоположения, вы можете определить, стоит ли стоять или перемещаться.

http://developer.android.com/training/location/activity-recognition.html

Используя это и передача новых мест только тогда, когда пользователь перемещает вы сможете уменьшить количество вызовов.

Parse - это еще один вариант, как упоминание @thepace. Он прост в использовании и йоту было бы легко осуществить то, что вы пытаетесь сделать, но не свободен :(

Надеется, что это помогает.

Смежные вопросы