I have inserted location using geofire in firebase

懵懂的女人 提交于 2019-12-02 07:47:24

you have to create a data reference first

 DatabaseReference ref = FirebaseDatabase.getInstance().getReference("/path/");

than geofire object

        GeoFire geoFire = new GeoFire(ref);

now retreive geo firelocation within particular range like this

 GeoQuery geoQuery = geoFire.queryAtLocation(new GeoLocation(lat, long), radius);
    geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() {
        @Override
        public void onKeyEntered(String key, GeoLocation location) {
            Log.d(Const.TAG,String.format("Key %s entered the search area at [%f,%f]", key, location.latitude, location.longitude));
        }

        @Override
        public void onKeyExited(String key) {
            Log.d(Const.TAG,String.format("Key %s is no longer in the search area", key));
        }

        @Override
        public void onKeyMoved(String key, GeoLocation location) {
            Log.d(Const.TAG,String.format("Key %s moved within the search area to [%f,%f]", key, location.latitude, location.longitude));
        }

        @Override
        public void onGeoQueryReady() {
            Log.d(Const.TAG,"All initial data has been loaded and events have been fired!");
        }

        @Override
        public void onGeoQueryError(DatabaseError error) {
            Log.d(Const.TAG,"There was an error with this query: " + error);
        }
    });
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!