feat: Add map navigation, enhance FCM deep linking, localize Google Places API, and refine activity display.
This commit is contained in:
36
lib/services/map_navigation_service.dart
Normal file
36
lib/services/map_navigation_service.dart
Normal file
@@ -0,0 +1,36 @@
|
||||
import 'dart:async';
|
||||
|
||||
class MapLocationRequest {
|
||||
final double latitude;
|
||||
final double longitude;
|
||||
final String? name;
|
||||
final DateTime timestamp;
|
||||
|
||||
MapLocationRequest({
|
||||
required this.latitude,
|
||||
required this.longitude,
|
||||
this.name,
|
||||
}) : timestamp = DateTime.now();
|
||||
}
|
||||
|
||||
class MapNavigationService {
|
||||
final _requestController = StreamController<MapLocationRequest>.broadcast();
|
||||
MapLocationRequest? _lastRequest;
|
||||
|
||||
Stream<MapLocationRequest> get requestStream => _requestController.stream;
|
||||
MapLocationRequest? get lastRequest => _lastRequest;
|
||||
|
||||
void navigateToLocation(double lat, double lng, {String? name}) {
|
||||
final request = MapLocationRequest(
|
||||
latitude: lat,
|
||||
longitude: lng,
|
||||
name: name,
|
||||
);
|
||||
_lastRequest = request;
|
||||
_requestController.add(request);
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
_requestController.close();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user