簡體   English   中英

如何從 Firebase Firestore 獲取地理點作為列表<latlng>對於 Flutter 中的折線?</latlng>

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM