fromKmz static method

RoutePath fromKmz(
  1. String kmz,
  2. Subline subline
)

Implementation

static RoutePath fromKmz(String kmz, Subline subline) {
  final document = XmlDocument.parse(kmz);
  List<List<LatLng>> allCoordinates = [];
  var lineStrings = document.findAllElements('LineString');

  for (XmlElement lineString in lineStrings) {
    var coordinates = lineString.findElements('coordinates');
    if (coordinates.isNotEmpty) {
      List<LatLng> coordinatesList = [];
      var coordinatesString = coordinates.first.innerText;
      var coordinatesSplit = coordinatesString.split(" ");
      for (var coordinate in coordinatesSplit) {
        var latLong = coordinate.split(",");
        coordinatesList
            .add(LatLng(double.parse(latLong[1]), double.parse(latLong[0])));
      }
      allCoordinates.add(coordinatesList);
    }
  }
  return RoutePath(paths: allCoordinates, subline: subline);
}