build static method
Drawable
build({
- required MapDataSource dataSource,
- required MapFeature feature,
- required MapTheme theme,
- required Matrix4 worldToCanvas,
- required double scale,
- 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());
}
}