I am accessing/showing the current location of the user on flutter google map. But a getting a little confused in onLocationChanged.listen() callback event. Can you make me understand the flow of execution of that particular callback?
Here is my code:
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:location/location.dart';
class GoogleMapPage extends StatefulWidget {
@override
_GoogleMapPageState createState() => _GoogleMapPageState();
}
class _GoogleMapPageState extends State<GoogleMapPage> {
LatLng _initialPosition = LatLng(20.2961, 85.8245);
GoogleMapController _controller;
Location _location = Location();
// For holding Co-ordinates as LatLng
final List<LatLng> polyPoints = [];
//For holding instance of Polyline
final Set<Polyline> polyLines = {};
void _onMapCreated(GoogleMapController _cntrl) {
_controller = _cntrl;
_location.onLocationChanged.listen((l) {
_controller.animateCamera(
CameraUpdate.newCameraPosition(
CameraPosition(
target: LatLng(l.latitude, l.longitude),
zoom: 15
),
),
);
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: [
GoogleMap(
initialCameraPosition:
CameraPosition(target: _initialPosition, zoom: 13),
mapType: MapType.normal,
onMapCreated: _onMapCreated,
myLocationEnabled: true,
),
],
),
);
}
}