在GoogleMap对象上设置以下属性:
myLocationButtonEnabled: false,
myLocationEnabled: true,
使用 google_maps_flutter 库:^0.5.13
void setInitialLocation() async {
currentLocation = await location.getLocation();
destinationLocation = LOC.LocationData.fromMap({
"latitude": currentLocation.latitude,
"longitude": currentLocation.longitude
});
CameraPosition cPosition = CameraPosition(
zoom: CAMERA_ZOOM,
tilt: CAMERA_TILT,
bearing: CAMERA_BEARING,
target: LatLng(currentLocation.latitude, currentLocation.longitude),
);
final GoogleMapController controller = await _controller.future;
controller
.animateCamera(CameraUpdate.newCameraPosition(cPosition))
.then((value) {
setState(() {
isCameraMoved = false;
});
});
}
并将此小部件添加到 googleMap 下的堆栈中:
Align(
alignment: Alignment.topRight,
child: Container(
height: 60,
width: 60,
padding: EdgeInsets.all(10.0),
child: FloatingActionButton(
backgroundColor: Colors.white,
heroTag: 'recenterr',
onPressed: () {
setInitialLocation();
},
child: Icon(
Icons.my_location,
color: Colors.grey,
),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0),
side: BorderSide(color: Color(0xFFECEDF1))),
),
),
),