我将坐标存储在实时数据库中,但在尝试检索数据时收到错误消息。错误信息是
com.google.firebase.database.DatabaseException:com.google.android.gms.maps.model.LatLng 类缺少不带参数的构造函数
...
在 com.google.firebase.database.DataSnapshot.getValue(来源未知)
这是代码
主程序.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 地图库中的模型类,因为它在实现中缺少公共构造函数。
public class LatLng {
private Double latitude;
private Double longitude;
public LatLng() {}
... public getter ...
}
EDIT:如何转换这个LatLng
to 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());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)