//main.dart fragment:
body: TabBarView(
children: [
WidgetB(),
WidgetA(),
MapWidget(),
],
),
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
class MapWidget extends StatefulWidget {
@override
State createState() => MapWidgetState();
}
class MapWidgetState extends State<MapWidget> {
GoogleMapController mapController;
@override
Widget build(BuildContext context) {
return Padding(
padding: EdgeInsets.all(15.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
Center(
child: SizedBox(
width: 300.0,
height: 200.0,
child: GoogleMap(
onMapCreated: _onMapCreated,
),
),
),
RaisedButton(
child: const Text('Go to London'),
onPressed: mapController == null ? null : () {
mapController.animateCamera(CameraUpdate.newCameraPosition(
CameraPosition(
bearing: 270.0,
target: LatLng(51.5160895, -0.1294527),//London location
tilt: 30.0,
zoom: 17.0,
),
));
},
),
],
),
);
}
void _onMapCreated(GoogleMapController controller) {
setState(() { mapController = controller; });
CameraPosition cameraPosition = CameraPosition(
target: LatLng(51.5160895+2, -0.1294527-1), //Fish Bits location
zoom: 17.0,
);
var cameraUpdate = CameraUpdate.newCameraPosition(cameraPosition);
mapController.moveCamera(cameraUpdate);
}
}