Geofire未在位置更改时更新firebase中的位置

时间:2018-04-04 17:19:20

标签: android firebase firebase-realtime-database geolocation geofire

我尝试使用此代码来更新我在firebase中的位置..但它无法正常工作,因为我正在更改我的位置,但仍然没有更新我的firebase数据库中的位置..

 String userid = FirebaseAuth.getInstance().getCurrentUser().getUid();
        DatabaseReference current_user_db = FirebaseDatabase.getInstance().getReference().child("Location");
        GeoFire geoFire = new GeoFire(current_user_db);
        geoFire.setLocation(userid,new GeoLocation(location.getLatitude(),location.getLongitude()),new
                GeoFire.CompletionListener(){
                    @Override
                    public void onComplete(String key, DatabaseError error) {

                        }
                });


        GeoQuery geoQuery = geoFire.queryAtLocation(new GeoLocation(location.getLatitude(),location.getLongitude()),0.1);

        geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() {
            @Override
            public void onKeyEntered(String key, GeoLocation location) {



            }

            @Override
            public void onKeyExited(String key) {


            }

            @Override
            public void onKeyMoved(String key, GeoLocation location) {

            }

            @Override
            public void onGeoQueryReady() {

            }

            @Override
            public void onGeoQueryError(DatabaseError error) {

            }
        });

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,然后可以通过以下方法解决它。在Firebase控制台中单击数据库。在“实时数据库”中选择“创建数据库”。您将收到一个标题为“实时数据库的安全规则”的对话框。在其中选择“以测试模式启动”。这样就可以解决问题了!