通过Google Maps搜索时,将使用返回位置的函数,并调用null。 placeDetail类已初始化并使用,但我不知道问题出在哪里。
void _moveCamera() async {
try{
GoogleMapController controller = await _mapController.future;
controller.animateCamera(
CameraUpdate.newLatLng(
LatLng(
placeDetail.lat,
placeDetail.lng)),
);
} catch(e) {
print("error?? -$e");
}
print("noo - ${placeDetail.lat}");
print("noo - ${placeDetail.lng}");
setState(() {
_markers.add(
Marker(
markerId: MarkerId(placeDetail.name),
position: LatLng(placeDetail?.lat, placeDetail.lng),
infoWindow: InfoWindow(
title: placeDetail.name,
snippet: placeDetail.formattedAddress),
));
});
}
json的문제가생각됩니로생각됩니다。 formatted_address:대한민국,几何:{位置:{lat:37.5942526,lng:126.9185857},이렇게이됩니다。
我在这里初始化了它。
void getCurrentPosition() async {
LocationData pos = await location.getLocation();
setState(() {
currentPos = LatLng(
pos.latitude,
pos.longitude,
);
});
placeDetail = PlaceDetail(lng: pos.longitude, lat: pos.latitude);
print('google mapff - ${currentPos.latitude}');
GoogleMapController mapCtrl = await _mapController.future;
mapCtrl.animateCamera(
CameraUpdate.newCameraPosition(
CameraPosition(
target: LatLng(
currentPos.latitude,
currentPos.longitude),
zoom: zoomLevel),
),
);
}
答案 0 :(得分:0)
您在哪里定义了placeDetail?您必须确保placeDetail在正在执行的代码范围内。