簡體   English   中英

在這段代碼中,我收到一個錯誤“未為“對象”類型定義運算符“[]”。

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM