gpt4 book ai didi

java - 如何将 Firestore 中的 GeoPoint 转换为 LatLng

转载 作者:太空宇宙 更新时间:2023-11-03 12:43:53 24 4
gpt4 key购买 nike

您好,我正在使用 Android Studio,但在转换从 Firestore 获得的数据时遇到了问题。我将数据保存在我的 Firestore 类型 GeoPoint 中,我想查询它并将其转换为对象类型 LatLng

这是我的代码:

    final FirebaseFirestore db = FirebaseFirestore.getInstance();
final CollectionReference stores = db.collection("stores");
stores.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
Log.i(TAG,document.getData().get("position").toString());
}
} else {
Log.w(TAG, "Error getting documents.", task.getException());
}
}
});

这是我得到的

    12-16 10:59:21.557 28239-28239/com.company.yummy.yummy I/firebaseCatch: GeoPoint { latitude=29.339555, longitude=169.715858 }
12-16 10:59:21.557 28239-28239/com.company.yummy.yummy I/firebaseCatch: GeoPoint { latitude=68.085393, longitude=-42.081575 }
12-16 10:59:21.557 28239-28239/com.company.yummy.yummy I/firebaseCatch: GeoPoint { latitude=16.503923, longitude=90.196118 }
12-16 10:59:21.557 28239-28239/com.company.yummy.yummy I/firebaseCatch: GeoPoint { latitude=-69.424524, longitude=-71.356333 }
12-16 10:59:21.557 28239-28239/com.company.yummy.yummy I/firebaseCatch: GeoPoint { latitude=69.502257, longitude=71.100474 }

我只需要获取纬度、经度值以设置到 LatLng 对象中。

最佳答案

要解决这个问题,您可以简单地使用 getGeoPoint() 方法,如下所示:

GeoPoint geoPoint = document.getGeoPoint("position");

然后使用:

double lat = geoPoint.getLatitude();
double lng = geoPoint.getLongitude();
LatLng latLng = new LatLng(lat, lng);

关于java - 如何将 Firestore 中的 GeoPoint 转换为 LatLng,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53799346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com