我遇到的错误消息表明
currentLocation()
方法被定义为返回 Future<void>
,这意味着它不返回任何值,因此我无法将其结果分配给变量。
Widget origin() {
return Positioned(
bottom: 20,
right: 15,
left: 15,
child: ElevatedButton(
onPressed: () async {
try {
// the error is on this line
GeoPoint currentLocation = await mapController.currentLocation();
debugPrint(
"Current Location: Latitude: ${currentLocation.latitude}, Longitude: ${currentLocation.longitude}");
await mapController.addMarker(
markerPosition: currentLocation,
markerIcon: MarkerIcon(
iconWidget: markerIcon,
),
);
setState(() {
geoPoint.add(currentLocation);
widgetStateList.add(destinationState);
});
} catch (e) {
debugPrint("Error getting current location: $e");
}
},
child: const Text(MyStrings.originSelect),
),
);
}
您可以使用
myLocation()
功能获取当前位置。
函数
currentLocation()
确实返回Future<void>
并将地图移动到当前用户位置。