我正在尝试创建一个带有位置键的地图,其中包含一个双精度列表作为坐标,但我收到一个错误

Posted

技术标签:

【中文标题】我正在尝试创建一个带有位置键的地图,其中包含一个双精度列表作为坐标,但我收到一个错误【英文标题】:I'm trying to create a map with a key of location that has a list of doubles as coordinates but I'm getting an error 【发布时间】:2020-09-11 22:24:06 【问题描述】:

我正在尝试创建一个注册模型并将其发送到我的 API,但“位置”键有另一个地图/json 对象,其中包含“类型”:“点”和“坐标”:[double, double] .

最终的 json 对象应该是这样的


    "name": "Arsh Bansal",
    "email": "ab@yahoo.com",
    "password": "123456789",
    "birthday": "06-21-2000",
    "gender": "Male",
    "location": 
        "type": "Point", 
        "coordinates": [13.0987, 88.403]
    ,
    "phone_number": "123456789"

我得到的错误是: 未处理的异常:类型“_InternalLinkedHashMap”不是类型转换中“String”类型的子类型

【问题讨论】:

【参考方案1】:

使用这个

class Location 
  String type;
  List<double> coordinates;

  Location(this.type, this.coordinates);

  Location.fromJson(Map<String, dynamic> json) 
    type = json['type'];
    coordinates = json['coordinates'].cast<double>();
  

  Map<String, dynamic> toJson() 
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['type'] = this.type;
    data['coordinates'] = this.coordinates;
    return data;
  

【讨论】:

它仍然给出相同的错误,即未处理的异常:类型 '_InternalLinkedHashMap' 不是类型转换中类型 'String' 的子类型 你能显示获取或显示这些值的代码吗? 我已经编辑了最初的问题并添加了从注册页面获取值。

以上是关于我正在尝试创建一个带有位置键的地图,其中包含一个双精度列表作为坐标,但我收到一个错误的主要内容,如果未能解决你的问题,请参考以下文章

如何创建带有热图的世界地图

使用带有多个键的 Grouper 时填写缺失的日期

使用 MapKit 在 IOS 地图上放置图钉? [关闭]

带有向量作为键的 STL 映射

带有 rxswift 的多张地图

反应原生地图:如何通过用户界面向地图添加带有属性和标记的点