聊天应用程序与firebase发送位置

时间:2017-05-03 15:08:46

标签: android firebase location chat android-gps

如何在android中发送我的位置坐标与firebase,我看到一个使用firebase的聊天应用程序,但我不明白如何将我的Gps代码放入其中,可以像消息一样实时发送坐标

1 个答案:

答案 0 :(得分:3)

首先,您需要创建一个看起来像这样的模型类:

public class MapModel {
    private String latitude;
    private String longitude;

    public MapModel() {}

    public MapModel(String latitude, String longitude) {
        this.latitude = latitude;
        this.longitude = longitude;
    }

    public void setLatitude(String latitude) {this.latitude = latitude;}
    public String getLatitude() {return latitude;}

    public void setLongitude(String longitude) {this.longitude = longitude;}
    public String getLongitude() {return longitude;}
}

您需要在Activity中创建一个变量,如下所示:

private static final int PLACE_PICKER_REQUEST = 123;

覆盖您的onActivityResult,它应如下所示:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == PLACE_PICKER_REQUEST){
            if (resultCode == RESULT_OK) {
                Place place = PlacePicker.getPlace(this, data);
                if (place != null){
                    LatLng latLng = place.getLatLng();
                    MapModel mapModel = new MapModel(latLng.latitude + "", latLng.longitude + "");
                    databaseReference.push().setValue(mapModel);
               }
            }
        }
    }

要发送位置,请创建如下方法:

private void locationPlacesIntent(){
    try {
        PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
        startActivityForResult(builder.build(this), PLACE_PICKER_REQUEST);
    } catch (GooglePlayServicesRepairableException | GooglePlayServicesNotAvailableException e) {
        e.printStackTrace();
    }
}

希望它有所帮助。