Я хочу отслеживать местоположение пользователя. По этой причине я использую пакет местоположения флаттера. Кроме того, я использую потоки для отслеживания в режиме реального времени. но как я могу показать местоположение пользователя на Google Maps в режиме реального времени. У меня возникла проблема с отображением местоположения в реальном времени на Картах Google.
** Вот мой класс обслуживания местоположения **
class LocationService {
UserLocation _currentLocationofUser;
Location location = Location();
//Sürekli güncelle
StreamController<UserLocation> _locationController =
StreamController<UserLocation>.broadcast();
LocationService() {
location.requestPermission().then((granted) {
if (granted != null) {
location.onLocationChanged.listen((locationData) {
if (locationData != null) {
_locationController.add(UserLocation(
latitude: locationData.latitude,
longitude: locationData.longitude));
}
});
}
});
}
Stream<UserLocation> get locationStream => _locationController.stream;
** Вот мой основной класс для отображения в реальном времени. время нахождения пользователя **
@override
_HomeViewState createState() => _HomeViewState();
}
class _HomeViewState extends State<HomeView> {
GoogleMapController _mapController;
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
var userLocation = Provider.of<UserLocation>(context);
return GoogleMap(
mapType: MapType.normal,
initialCameraPosition: CameraPosition(
zoom: 12,
target: LatLng(userLocation.latitude, userLocation.longitude)),
onMapCreated: (GoogleMapController controller) {
_mapController = controller;
},
);
}
}