我试图从谷歌地图获取用户的当前位置,但我得到了一个异常作为回报,我似乎无法理解为什么会发生这种情况。该应用程序很简单 - 获取用户的当前位置,然后将相机缩放到该位置。就是这样。
我将附上我的代码和异常消息。奇怪的是,正如您在异常消息中看到的那样,我正确地获取了 LatLng,那么为什么相机没有指向该位置呢?
class Map extends StatefulWidget {
@override
_MapState createState() => _MapState();
}
class _MapState extends State<Map> {
LatLng currentLatLng;
Completer<GoogleMapController> _controller = Completer();
@override
void initState(){
super.initState();
Geolocator.getCurrentPosition().then((currLocation){
setState((){
currentLatLng = new LatLng(currLocation.latitude, currLocation.longitude);
});
});
}
@override
Widget build(BuildContext context) {
print("Current Location --------> " + currentLatLng.latitude.toString() + " " + currentLatLng.longitude.toString());
return MaterialApp(
home: new Scaffold(
body: GoogleMap(
mapType: MapType.normal,
initialCameraPosition: CameraPosition(target: currentLatLng),
onMapCreated: (GoogleMapController controller) {
_controller.complete(controller);
},
),
),
);
}
} …Run Code Online (Sandbox Code Playgroud)