我有这个错误 The getter 'value' was called on null

i have this error The getter 'value' was called on null

这是我的代码,我没有名为 value 的变量 这是我在数据库中的函数:

 getMarker() async {
//  List list = List();
String myUrl = "http://10.25.20.30:5000/api/markers";
var response = await http.get(myUrl,
    headers: {
      'Accept': 'application/json',

    });

return response.body;

我的回复正文看起来像这样:[{"log":"-7.939147","lag":"32.222754"},{"log":"-8.004948", "lag":"31.621737"},{"log":"-8.017168","lag":"31.636198"}]

这是从我的 json 文件中获取标记的代码

  Future<String> loadString() async =>     
    await databaseHelper.getMarker();  
    List<Marker> allMarkers = [];             

   void initState() {                        

   super.initState();                      
   _future = loadString();                 
   }

我想在这里建立我的标记:

       return Container(                                                                                                                        
  height: MediaQuery                                                                                                                     
      .of(context)                                                                                                                       
      .size                                                                                                                              
      .height,                                                                                                                           
  width: MediaQuery                                                                                                                      
      .of(context)                                                                                                                       
      .size                                                                                                                              
      .width,                                                                                                                            


  child:  FutureBuilder(                                                                                                                 
    future:  _future,                                                                                                                    
     builder: (context, AsyncSnapshot snapshot) {                                                                                        
if (!snapshot.hasData) {                                                                                                                 
return CircularProgressIndicator();                                                                                                      
}                                                                                                                                        
   List<dynamic> parsedJson = jsonDecode(snapshot.data);                                                                                 

    allMarkers = parsedJson.map((element) {                                                                                              
            return Marker(                                                                                                               

                position: LatLng(double.parse(element['log']),double.parse(element['lag'])));                                             
          }).toList();                                                                                                                   
    return GoogleMap(                                                                                                                    
mapType: MapType.normal,                                                                                                                 
initialCameraPosition: CameraPosition(                                                                                                   
target: LatLng(double.parse(userLocation.latitude.toString()),                                                                           
double.parse(userLocation.longitude.toString())), zoom: 12),                                                                              
onMapCreated: (GoogleMapController controller) {                                                                                         
_controller.complete(controller);                                                                                                        
},                                                                                                                                       
markers:Set.from(allMarkers),                                                                                                            


);                                                                                                                                        
}                                                                                                                                        
  )                                                                                                                                       
);                                                                                                                                        

}

我不知道问题出在哪里,因为我没有任何名为 "value" 的值,请大家帮帮我,我需要它....

嗨,我经常遇到这种情况,每次发生这种情况时,我都会传递一个null 参数 在我的一个 函数中 .

best way is to start the debugger and start looking for values that should not be null.

我会说检查你的 allMarkers List。 希望这对您有所帮助!

以防万一有人遇到同样的问题...

在我将 markerId 添加到我的 Marker() 构造函数之前,我遇到了完全相同的问题。在我的例子中,每个标记都有一个唯一的字符串:

markers.add(标记( markerId: MarkerId(e['sid']), 位置:LatLng( e['lat'], e['lon'], )));