![](/img/trans.png)
[英]Flutter Firestore How to load array from firestore to a list
[英]How to get geopoints from Firebase Firestore as List<LatLng> for a Polyline in Flutter?
我的 firestore 數據庫中有一組文檔。 這是文件之一:
在我的應用程序中,我想根據文檔中的點在 Google Map 上顯示折線。 折線需要點作為緯度和經度列表,如下所示:
points: <LatLng>[
LatLng(0, 0),
LatLng(1, 1),
],
但是,如果我從 firestore 獲得積分,它會將積分作為List<dynamic>
而不是List<LatLng>
接收。
這是錯誤:
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: type 'List<dynamic>' is not a subtype of type 'List<LatLng>'
我的問題是:如何從我的 Firestore 數據庫中獲取點作為List<LatLng>
或如何在數據庫中編寫 LatLngs,以便無論數據庫中的列表有多少點,我都可以構建到 Map 的折線。
提前致謝!
使用map方法將List<dynamic>
轉換為List<LatLng>
。
假設points數組僅由 GeoPoint 對象組成:
final db = FirebaseFirestore.instance;
await db.collection("your-collection-name").get().then((event) {
for (var doc in event.docs) {
final docData = doc.data();
List<dynamic> points = docData['points'];
final latlngPoints = points.map((e) => LatLng(e.latitude, e.longitude));
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.