2016-11-15 5 views
6

У нас есть доступ к пользовательскому GoogleApiClient с момента его подписания с учетной записи google. Ниже код создает Geofence для пользователя, который в настоящее время подписан. Пример: пользователь A регистрируется в приложении, и у нас есть доступ к GoogleApiClient, поэтому геофенсирование создается с помощью функции addGeofences, которая принимает параметр как mGoogleApiClient (текущий пользовательский API Google Analytics).Создание Geofence для разных пользователей

Как создать геозонность для пользователя B? Как я могу получить доступ к его/ее GoogleApiClient для создания геообъекта в User B? Короче говоря, как мы можем создать геозонность для других пользователей? Пожалуйста помоги!

public void addGeofencesButtonHandler(View view) { 
    if (!mGoogleApiClient.isConnected()) { 
     Toast.makeText(this, getString(R.string.not_connected), Toast.LENGTH_SHORT).show(); 
     return; 
    } 

    try { 
     populateGeofenceList();// creates geofence from list 
     LocationServices.GeofencingApi.addGeofences(
       mGoogleApiClient, 
       // The GeofenceRequest object. 
       getGeofencingRequest(), 
       // A pending intent that that is reused when calling removeGeofences(). This 
       // pending intent is used to generate an intent when a matched geofence 
       // transition is observed. 
       getGeofencePendingIntent() 
     ).setResultCallback(this); // Result processed in onResult(). 
    } catch (SecurityException securityException) { 
     // Catch exception generated if the app does not use ACCESS_FINE_LOCATION permission. 
     logSecurityException(securityException); 
    } 
} 

ответ

1

У меня есть один и тот же вопрос, и идеи, которые я имею в виду прямо сейчас:

  1. вы делаете пользователь А создать Geofence для пользователя B и сохранить точку центра и радиус в удаленной базе данных, то пользователь B будет извлекать эти данные «или путем push-уведомления», а затем добавить геозонность на устройстве B в зависимости от этих данных и реализовать, когда пользователь B будет вводить геозонность, он отправит push-уведомление пользователю A

или

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

Я искал много в Google геозоны API, но я не мог найти ничего полезного о том, как использовать API в другой точке расположения «не текущее местоположение устройства»


Примечания:
ответить здесь показать, как реализовать Geofence вручную: Is there any API for calculating Geofence breach other than Android API's

Я задал вопрос, как у вас здесь и могут быть ответы будут полезны:
Android: How to make user create geofence for another tracked users?

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