build static method

Drawable build({
  1. required MapDataSource dataSource,
  2. required MapFeature feature,
  3. required MapTheme theme,
  4. required Matrix4 worldToCanvas,
  5. required double scale,
  6. required GeometrySimplifier simplifier,
})

Implementation

static Drawable build(
    {required MapDataSource dataSource,
    required MapFeature feature,
    required MapTheme theme,
    required Matrix4 worldToCanvas,
    required double scale,
    required GeometrySimplifier simplifier}) {
  MapGeometry geometry = feature.geometry;
  if (geometry is MapPoint) {
    return _point(
        dataSource: dataSource,
        feature: feature,
        point: geometry,
        theme: theme,
        scale: scale,
        simplifier: simplifier);
  } else if (geometry is MapLinearRing) {
    return _linearRing(
        feature: feature,
        linearRing: geometry,
        theme: theme,
        worldToCanvas: worldToCanvas,
        simplifier: simplifier);
  } else if (geometry is MapLineString) {
    return _lineString(
        feature: feature,
        lineString: geometry,
        theme: theme,
        worldToCanvas: worldToCanvas,
        simplifier: simplifier);
  } else if (geometry is MapMultiLineString) {
    return _multiLineString(
        feature: feature,
        multiLineString: geometry,
        theme: theme,
        worldToCanvas: worldToCanvas,
        simplifier: simplifier);
  } else if (geometry is MapPolygon) {
    return _polygon(
        feature: feature,
        polygon: geometry,
        theme: theme,
        worldToCanvas: worldToCanvas,
        simplifier: simplifier);
  } else if (geometry is MapMultiPolygon) {
    return _multiPolygon(
        feature: feature,
        multiPolygon: geometry,
        theme: theme,
        worldToCanvas: worldToCanvas,
        simplifier: simplifier);
  } else {
    throw VectorMapError(
        'Unrecognized geometry: ' + geometry.runtimeType.toString());
  }
}