如何使用Flutter在Google地图上使用Geoflutterfire创建和控制标记

时间:2019-04-18 08:27:36

标签: google-maps flutter google-cloud-firestore geofire

我正在尝试将Firestore集合中的标记放入Google Map。我使用Geoflutterfire软件包进行查询。我假定我的应用程序已与数据库连接,但未显示任何标记。 我在https://pub.dartlang.org/packages/geoflutterfire上使用示例代码,但是我不需要所有功能。我只想查询数据库并在地图上显示标记。

不幸的是,我还不完全了解如何编写从Firestore数据库正确提取标记的代码。 “ MarkerOptions”命令周围也发生了很多事情。 GoogleMapsController的最新更新有些变化,所以我几乎完全困惑了。

似乎Geoflutterfire专注于通过应用程序创建标记并将其添加到数据库中,从而为标记提供特定的代码结构,这也可以在示例代码中看到。我通过将“位置”设置为地图类型来为此手动创建文档结构。

My Database

我正在初始化Firestore和Geoflutterfire。示例中的“ 查询地理数据”部分实际上很小,我想我缺少了 stream.listen -命令部分

中的重要部分

´´´

GeoFirePoint center = geo.point(latitude: -33.870663, longitude: 
151.206793);var collectionReference = _firestore.collection('syd_places');

double radius = 50; String field = 'position';

Stream<List<DocumentSnapshot>> stream = geo.collection(collectionRef: collectionReference)
    .within(center: center, radius: radius, field: field);

stream.listen((List<DocumentSnapshot> documentList) {
  // doSomething()
}); 

´´´

当前,我正坐在空白的GoogleMap前面,仅显示地图。该地图以悉尼市中心为中心,我在附近地区创建了一些地理位置,并将其存储在数据库中。

0 个答案:

没有答案