android - Firebase LatLng 缺少没有参数的构造函数

标签 android firebase firebase-realtime-database

我将坐标存储在实时数据库中,但在尝试检索数据时收到错误消息。错误信息是

com.google.firebase.database.DatabaseException: Class com.google.android.gms.maps.model.LatLng is missing a constructor with no arguments

...

at com.google.firebase.database.DataSnapshot.getValue(Unknown Source)

这是代码

主.java

protected void onStart() {
        apiClient.connect();
        super.onStart();

        DatabaseReference test = database.getReference("jsierra");

        test.addChildEventListener(new ChildEventListener() {

            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                Toast.makeText(getBaseContext(), "Child Added", Toast.LENGTH_LONG).show();
                givenData = dataSnapshot.getValue(data.class); <-- Error
            }
}

数据.java

import com.google.android.gms.maps.model.LatLng;
public class data {
    private LatLng coordinates;

    public data() {
        coordinates = null;
    }

    public data(LatLng coordinates)
    {
        this.coordinates = coordinates;
    }

    public void setLatLng(LatLng coordinates) {
        this.coordinates = coordinates;
    }

    LatLng getLatLng () {
        return coordinates;
    }
}

最佳答案

创建您自己的 LatLng 模型类,而不是使用 Google Maps 库中的模型类,因为它在实现中缺少公共(public)构造函数。

public class LatLng {
    private Double latitude;
    private Double longitude;

    public LatLng() {}

    ... public getter ...
}

编辑:如何将此 LatLng 转换为 com.google.android.gms.maps.model.LatLng

com.google.android.gms.maps.model.LatLng mapsLatLng = 
    new com.google.android.gms.maps.model.LatLng(latLng.getLatitude(),
                                                 latLng.getLongitude());

关于android - Firebase LatLng 缺少没有参数的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41192002/

相关文章:

android - 在 StackView 小部件项目中设置 onClick 事件

android - 如何导出使用调试证书签名的 apk?

android - FIRESTORE 持久数据

ios - 如何使用 Swift 更新 Firebase 中的用户分数?

android - 适用于 Android 的 Google+ 平台 - getCurrentPerson

Android:使用线性渐变作为背景看起来是带状的

javascript - Firebase 配置的哪些部分位于 Nodejs Web 应用程序的服务器端和客户端

python - 为什么 firebase_admin 在运行多进程时无法解析

ios - 如何快速观察firebase数据库中子子节点的值变化?

ios - 从 URL 加载的图像在 UITableView 滚动时发生变化