0

Я пытался опробовать образец проекта Geo забора Google. Я правильно делаю вход/выход. Но как я могу получить текущее местоположение пользователя от него. Я бы хотел отслеживать местоположение пользователя даже после точек входа/выхода. Пожалуйста помоги. sample project is from the developer portal.Получить текущее местоположение из проекта выборки geo fence

ответ

0

Вам понадобится обычное определение местоположения пользователя от поставщика 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

+0

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

+0

Исправить. Geofence делает все, что сработает для вас. – TonyC

+1

locationClient.getLastLocation() возвращает текущую позицию и не вызывает одно событие (они близки, но не одинаковы), GeofencingEvent.getTriggeringLocation() уже там без использования устаревшего LocationClient – Zorb

2

в вашем 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() 

    } 
    //[...] 
}