Я пытался опробовать образец проекта Geo забора Google. Я правильно делаю вход/выход. Но как я могу получить текущее местоположение пользователя от него. Я бы хотел отслеживать местоположение пользователя даже после точек входа/выхода. Пожалуйста помоги. sample project is from the developer portal.Получить текущее местоположение из проекта выборки geo fence
ответ
Вам понадобится обычное определение местоположения пользователя от поставщика Fused Location Provider. Полный учебник здесь: http://developer.android.com/training/location/retrieve-current.html
Но в основном, когда вы получаете GeoFence события внутри вашего приемника или службы, получить экземпляр LocationClient
там, подключиться к нему, и в обратном вызове, onConnected()
, получить последнее известное местоположение:
Location position = locationClient.getLastLocation();
99,9% времени, или немного лучше, вы найдете это место, чтобы быть внутри геозоны.
Для продолжения отслеживания обновлений местоположения пользователя, следуйте получать обновления Место: http://developer.android.com/training/location/receive-location-updates.html
в вашем broadcastrecievero или услугу вы получаете GeofencingEvent, использовать его, чтобы получить запускающего Поместите
public class GeofenceTransitionsIntentService extends IntentService {
//[...]
@Override
protected void onHandleIntent(Intent intent) {
GeofencingEvent geofencingEvent = GeofencingEvent.fromIntent(intent);
if (geofencingEvent.hasError()) {
// ...
}
Location l = geofencingEvent.getTriggeringLocation()
}
//[...]
}
Привет, просто чтобы очистить мою путаницу, означает ли это, что если я использую геообслуживание, мне не нужно отслеживать местоположения пользователей с помощью сети или gps? Geofence делает это сам? –
Исправить. Geofence делает все, что сработает для вас. – TonyC
locationClient.getLastLocation() возвращает текущую позицию и не вызывает одно событие (они близки, но не одинаковы), GeofencingEvent.getTriggeringLocation() уже там без использования устаревшего LocationClient – Zorb