一个名为"对空值使用的空校验运算符";似乎使用了flutter"custom_info_window:^1.0.1"。我应该如何解决这个问题?
class _HomeScreenState extends State<HomeScreen> {
CustomInfoWindowController _customInfoWindowController =
CustomInfoWindowController();
@override
void dispose() {
_customInfoWindowController.dispose();
super.dispose();
}
final user = FirebaseAuth.instance.currentUser!.email!;
final curloc = FirebaseFirestore.instance
.collection('users')
.doc(FirebaseAuth.instance.currentUser!.email);
Completer<GoogleMapController> _controller = Completer();
late BitmapDescriptor sourceIcon;
late BitmapDescriptor destinationIcon;
Map<MarkerId, Marker> _markers = <MarkerId, Marker>{};
void initMarker(specify, specifyID) async {
final LatLng _latLng = LatLng(specify['lat'], specify['lng']);
var markerIdval = specifyID;
final MarkerId markerId = MarkerId(markerIdval);
final Marker marker = Marker(
markerId: markerId,
icon: destinationIcon,
position: LatLng(specify['lat'], specify['lng']),
onTap: () {
_customInfoWindowController.addInfoWindow!(
Column(
children: [
Expanded(
child: Container(
decoration: BoxDecoration(
color: Colors.blue,
borderRadius: BorderRadius.circular(4),
),
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
Icons.account_circle,
color: Colors.white,
size: 30,
),
SizedBox(
width: 8.0,
),
Text(
"I am here",
style:
Theme.of(context).textTheme.headline6!.copyWith(
color: Colors.white,
),
)
],
),
),
width: double.infinity,
height: double.infinity,
),
),
Triangle.isosceles(
edge: Edge.BOTTOM,
child: Container(
color: Colors.blue,
width: 20.0,
height: 10.0,
),
),
],
),
_latLng,
);
},
);
setState(() {
_markers[markerId] = marker;
});
}
我在pub.dev中使用了custom_info_window 1.0.1。上面写着零安全,但我不确定为什么会出现这个问题。
我真的很想自定义谷歌地图标记上的信息窗口。
请让我知道如何解决这个问题。
谢谢。
您在此处使用强制展开(感叹号!(:_customInfoWindowController.addInfoWindow!(
不使用强制展开,而是使用?并提供一个默认值,这样无论何时为空,应用程序都不会崩溃。