diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 98ae9e3..56de64e 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -20,8 +20,8 @@ dev_dependencies: geoflutterfire2: path: ../ - cloud_firestore: ^4.1.0 - google_maps_flutter: ^2.2.1 + cloud_firestore: ^4.2.0 + google_maps_flutter: ^2.2.2 # For information on the generic Dart part of this file, see the # following page: https://www.dartlang.org/tools/pub/pubspec diff --git a/lib/src/collection.dart b/lib/src/collection.dart index 3c8d5d6..64b3f20 100644 --- a/lib/src/collection.dart +++ b/lib/src/collection.dart @@ -1,14 +1,13 @@ import 'dart:async'; - import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:rxdart/rxdart.dart'; - import 'models/DistanceDocSnapshot.dart'; import 'point.dart'; import 'util.dart'; class GeoFireCollectionRef { Query _collectionReference; + Stream? _stream; GeoFireCollectionRef(this._collectionReference) { @@ -77,6 +76,23 @@ class GeoFireCollectionRef { } } + Future> get({ + required GeoFirePoint center, + required double radius, + required String field, + required bool? strictMode, + }) { + return within( + center: center, + field: field, + radius: radius, + strictMode: strictMode = false, + ) + .map((snapshots) => + snapshots.map((snapshot) => snapshot).toList()) + .first; + } + /// query firestore documents based on geographic [radius] from geoFirePoint [center] /// [field] specifies the name of the key in the document Stream> within({ diff --git a/pubspec.lock b/pubspec.lock index 3361e24..b0b1f5b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,7 +7,7 @@ packages: name: _flutterfire_internals url: "https://pub.dartlang.org" source: hosted - version: "1.0.9" + version: "1.0.10" async: dependency: transitive description: @@ -42,21 +42,21 @@ packages: name: cloud_firestore url: "https://pub.dartlang.org" source: hosted - version: "4.1.0" + version: "4.2.0" cloud_firestore_platform_interface: dependency: transitive description: name: cloud_firestore_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "5.9.0" + version: "5.9.2" cloud_firestore_web: dependency: transitive description: name: cloud_firestore_web url: "https://pub.dartlang.org" source: hosted - version: "3.1.0" + version: "3.1.1" collection: dependency: transitive description: @@ -77,7 +77,7 @@ packages: name: firebase_core url: "https://pub.dartlang.org" source: hosted - version: "2.3.0" + version: "2.4.0" firebase_core_platform_interface: dependency: transitive description: @@ -91,7 +91,7 @@ packages: name: firebase_core_web url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.2" flutter: dependency: "direct main" description: flutter @@ -127,7 +127,7 @@ packages: name: material_color_utilities url: "https://pub.dartlang.org" source: hosted - version: "0.2.0" + version: "0.1.5" meta: dependency: transitive description: @@ -167,7 +167,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.9.1" + version: "1.9.0" stack_trace: dependency: transitive description: @@ -202,14 +202,14 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.4.13" + version: "0.4.12" vector_math: dependency: transitive description: name: vector_math url: "https://pub.dartlang.org" source: hosted - version: "2.1.3" + version: "2.1.2" sdks: - dart: ">=2.18.0-146.0.dev <3.0.0" + dart: ">=2.17.0-0 <3.0.0" flutter: ">=1.20.0" diff --git a/pubspec.yaml b/pubspec.yaml index 7b1c7f7..961ad85 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -10,7 +10,7 @@ environment: dependencies: flutter: sdk: flutter - cloud_firestore: ^4.1.0 + cloud_firestore: ^4.2.0 rxdart: ^0.27.7 dev_dependencies: