我正在使用SfMaps syncfusion map,当我尝试使用MapShapeSource.asset()属性从本地assets文件夹加载geojson数据时,一切都很正常。但当我想使用http包flutter加载由于API调用(GET / POST)而导致的geojson数据时,我遇到了问题。
// Function to load data json from API
Future<void> loadGeojsonDataFromAPI() async {
setState(() => loading = true);
try {
final response = await http.post(
Uri.parse("some url"),
headers: {
'Content-Type': 'application/json; charset=UTF-8',
},
body: body);
if (response.statusCode >= 400) {
throw Exception('statusCode=${response.statusCode}');
}
setState(() {
loading = false;
data = jsonDecode(response.body);
});
} catch (e) {
setState(() => loading = false);
debugPrint("Error load data: $e");
return;
}
}
// Loadjson data from API in Map Shape Source.network() but not sure how to do it
dataSource = MapShapeSource.network(
'url',
shapeDataField: 'name',
);
我相信这个问题可以通过MapShapeSource.network()来解决,但是我仍然不知道如何使用它。
任何形式的帮助都非常感谢
1条答案
按热度按时间nue99wik1#
您可以使用Map小部件中提供的www.example.com()构造函数从Web/网络加载区域形状JSON数据。我们共享了以下用户指南文档和示例供您参考。MapShapeSource.network() constructor available in the maps widget. We have shared the user guide documentation and sample below for your reference.
通用电气公司,www.example.comhttps://help.syncfusion.com/flutter/maps/getting-started#from-network
代码片段: