Sup*_*was 6 java android firebase geopoints google-cloud-firestore
嗨,我正在使用 Android Studio,但在转换从 Firestore 获得的数据时遇到了麻烦。我将数据保存在 Firestore 类型 GeoPoint 中,我想查询它并转换为 Object 类型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());
}
}
});
Run Code Online (Sandbox Code Playgroud)
这是我得到的
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 }
Run Code Online (Sandbox Code Playgroud)
我所需要的只是获取纬度、经度值以设置到 LatLng 对象中。
Ale*_*amo 10
要解决这个问题,您可以简单地使用这样的getGeoPoint()方法:
GeoPoint geoPoint = document.getGeoPoint("position");
Run Code Online (Sandbox Code Playgroud)
然后使用:
double lat = geoPoint.getLatitude();
double lng = geoPoint.getLongitude();
LatLng latLng = new LatLng(lat, lng);
Run Code Online (Sandbox Code Playgroud)
小智 5
这对我来说适用于 flutter cloud_firestore
void getData() {
databaseReference
.collection("stores")
.getDocuments()
.then((QuerySnapshot snapshot) {
snapshot.documents.forEach((f) {
print('${f.data}}');
GeoPoint pos = f.data['position'];
LatLng latLng = new LatLng(pos.latitude, pos.longitude);
});
});
}
Run Code Online (Sandbox Code Playgroud)
参考 - https://fireship.io/lessons/flutter-realtime-geolocation-firebase/
| 归档时间: |
|
| 查看次数: |
11516 次 |
| 最近记录: |