我需要通过 flutter_map 包添加多个多边形(需要离线)。.csv 文件连同每个多边形的命名一起提取坐标。在第一个多边形中,它被正确添加,但没有第二个它覆盖第一个多边形中第二个多边形的坐标,并且它得到两个带有坐标的多边形。遵循代码:
carregarCsv() async {
polygonLatLng.clear();
final _rawData = await rootBundle.loadString("csv/csv_teste2_utm.csv");
List<List<dynamic>> _listData = CsvToListConverter().convert(_rawData);
data = _listData;
for (int i = 1; i < data.length; i++) {
x = data[i][0];
y = data[i][1];
parcela = data[i][3];
var parte = parcela.split('/');
var corp = parte.sublist(1).join(':').trim();
latlon =
UTM.fromUtm(easting: x, northing: y, zoneNumber: 23, zoneLetter: 'K');
latitude = latlon.lat;
longitude = latlon.lon;
pointString = ("$latitude" + "," + " $longitude").toString();
point = LatLng(latitude, longitude);
if (corp != ultimoCorp && ultimoCorp != null) {
ultimoCorp = corp;
polygons = await setPolygon(polygonLatLng);
//polygonCounter = polygonCounter + 1;
polygonLatLng.clear();
polygonLatLng.add(point);
} else {
polygonLatLng.add(point);
ultimoCorp = corp;
}
}
await setPolygon(polygonLatLng);
}
setPolygon(List<LatLng> polygonLatLng) {
polygons.add(Polygon(
disableHolesBorder: true,
isDotted: true,
points: polygonLatLng,
color: Colors.red,
borderColor: Colors.red,
borderStrokeWidth: 1,
));
return polygons;
}
提前致谢。