提问人:umang gala 提问时间:11/15/2016 最后编辑:Minh Buiumang gala 更新时间:1/20/2019 访问量:707
在不同用户上创建地理围栏
Creating Geofence on different Users
问:
自从用户从谷歌帐户登录以来,我们就可以访问他/她。以下代码在当前登录的用户上创建地理围栏。例如,用户 A 登录到应用程序,我们可以访问 ,因此使用函数创建地理围栏,该函数将参数作为 mGoogleApiClient(当前用户的 GoogleApiClient)。GoogleApiClient
GoogleApiClient
addGeofences
如何在用户 B 上创建地理围栏?我怎样才能访问他/她的 GoogleApiClient 以在用户 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赞
Flowra
11/17/2016
#1
我有同样的问题,我现在想到的想法是:
- 你让用户 A 为用户 B 创建地理围栏并将中心点和半径存储在远程数据库中,然后用户 B 将“或通过推送通知”检索此数据,然后根据这些数据在设备 B 上添加地理围栏,并在用户 B 进入地理围栏时实现,他将向用户 A 发送推送通知
或
- 您将检索用户 B 位置,例如每 5 分钟检索一次,每次检索该位置时,您将手动计算用户 B 位置与地理围栏中心点之间的距离,如果它小于半径,则表示用户 B 在地理围栏内。
我在谷歌地理围栏 api 中搜索了很多,但我找不到任何关于如何在另一个位置点“不是当前设备位置”上使用该 api 的有用信息
注意:这里的答案向您展示了如何手动实现地理围栏:
除了 Android API 之外,是否有任何 API 可用于计算地理围栏漏洞
我在这里问了一个像你这样的问题,答案可能会有所帮助: Android:如何让用户为另一个被跟踪的用户创建地理围栏?
评论