flutter - 来自http请求的数据将字符串转换为颤振中的LatLng列表
问题描述
String map = widget.list[widget.index]['map'];
地图数据的示例"[LatLng(12.82879876203614, 80.12908793985844),LatLng(12.83370395257544, 80.1245865225792),LatLng(12.839642030904889, 80.12061484158039),]"
现在是字符串,但我想要 LatLng 格式(不带“”双引号),例如[LatLng(12.82879876203614, 80.12908793985844),LatLng(12.83370395257544, 80.1245865225792),LatLng(12.839642030904889, 80.12061484158039),]
Set<Polygon> polygonSet = new Set();
polygonSet.add(Polygon(
polygonId: PolygonId('test'),
points: map,
strokeWidth: 2,
strokeColor: Colors.blue,
fillColor: Colors.blue.withOpacity(0.4),));
return polygonSet;
}
输出错误:type 'String' is not a subtype of type 'LatLng'
解决方案
您可以使用 jsonDecode() 将字符串转换为 LatLng 列表。
import 'dart:convert';
void main() {
String map =
'"[LatLng(12.82879876203614, 80.12908793985844),LatLng(12.83370395257544, 80.1245865225792),LatLng(12.839642030904889, 80.12061484158039),]"';
List<LatLng> latlngList = jsonDecode(map);
print(latlngList);
}
输出将是:
[LatLng(12.82879876203614, 80.12908793985844),LatLng(12.83370395257544, 80.1245865225792),LatLng(12.839642030904889, 80.12061484158039),]
推荐阅读
- mysql - 如何使用 mysql 在谷歌云中授予用户权限?
- html - Node Express 服务器卡在加载中
- sql - SQLite多表的sql查询
- python - 用值 Python-Pandas 替换空单元格
- c# - 解析中间件中的请求标头属性,用于特定路由 - ASP.NET CORE
- matlab - 如何在 MATLAB 中读取 .mtx 文件矩阵以计算特征值和特征向量?
- javascript - 无法获取输入元素的值
- .net - 具有事件驱动架构但没有事件溯源的 CQRS
- node.js - supervisord 没有在停止命令上杀死所有生成的节点进程
- python - 在heroku上部署streamlit webapp的问题