![](/img/trans.png)
[英]I am Getting The operator '[]' isn't defined for the type 'AsyncSnapshot<Object?>'. Try defining the operator '[]' error
[英]In this code i am getting an error 'The operator '[]' isn't defined for the type 'Object'.'
final messages1 = snapshot.data?.docs;
_markers.clear();
no_of_coordinates = 0;
_initialPosition = CameraPosition(target: LatLng(plat, plong), zoom : 15.5);
for (var message in messages1!) {
double distanceInKMeters = getDistanceFromLatLonInKm(plat, plong, double.parse(message.data()!['latitude']), double.parse(message.data()!['longitude']));
if(distanceInKMeters <= 0.5) {
_markers.add(
Marker(
//markerId: MarkerId('dubai'), double.parse(message.data()['longitude'])
position: LatLng(double.parse(message.data()!['latitude']), double.parse(message.data()!['longitude'])),
infoWindow: InfoWindow(title: 'Ambulance', snippet: message.data()!['address']),
markerId: MarkerId("Ambulance"),
),
);
print(message.data()!['latitude'] + " " + message.data()!['longitude']);
}
print(distanceInKMeters.toString()+ " " + message.data()!['latitude']+ " " + message.data()!['longitude']);
}
}
在之前的雙 distanceInKMeters 變量上,我收到一個關於 null seafty 的錯誤,在修復該錯誤后,我收到一個錯誤,即未為“對象”類型定義運算符“[]”。
為了讓它工作,我必須修改
message.data()!['latitude']
至
(message.data() as Map<String, dynamic>)!['latitude']
原因
message.data()
沒有映射,我們可以使用message.data() as Map<String, dynamic>
來映射它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.