Geofire会为每个用户提供新密钥吗?

问题描述 投票:-1回答:1

我想将geofire用于多个位置查询,但不知道如何为每个位置分配单独的密钥。 geofire会自动为每个用户的位置分配不同的密钥吗?

这是我的Geofire代码:

if (gps.canGetLocation()) {
 double latitude = gps.getLatitude(); 
 double longitude = gps.getLongitude(); 
 location.setText(latitude + "" + longitude); 
 //add points to database 
 myRef = database.getReference("Location"); 
 GeoFire geoFire = new GeoFire(myRef); 
 geoFire.setLocation("Person", new GeoLocation(latitude,longitude)); 
} else { 
    gps.showSettingsAlert(); 
}
android firebase firebase-realtime-database geofire google-geolocation
1个回答
2
投票

您的问题的答案是否定的.Noofire不会为每个用户提供密钥。您必须使用自己的逻辑创建密钥,然后将其添加到列表中(我将此列表称为Locations):

String key = //use your own logic to get this
if (gps.canGetLocation()) {
 double latitude = gps.getLatitude(); 
 double longitude = gps.getLongitude(); 
 location.setText(latitude + "" + longitude); 
 //add points to the list on the database
 myRef = database.getReference("Locations").child(key);
 GeoFire geoFire = new GeoFire(myRef); 
 geoFire.setLocation("Person", new GeoLocation(latitude,longitude)); 
} else { 
    gps.showSettingsAlert(); 
}

如果您正在使用Firebase身份验证,则只需从经过身份验证的用户获取该uid并将其用作您的密钥即可。

© www.soinside.com 2019 - 2024. All rights reserved.