diff options
Diffstat (limited to 'src/Map')
-rw-r--r-- | src/Map/Canvas.js | 10 | ||||
-rw-r--r-- | src/Map/Shapes.js | 11 |
2 files changed, 20 insertions, 1 deletions
diff --git a/src/Map/Canvas.js b/src/Map/Canvas.js index cbd6e9e..111063e 100644 --- a/src/Map/Canvas.js +++ b/src/Map/Canvas.js @@ -89,6 +89,10 @@ class Canvas { this.drawPolygon(shape); break; + case Shape.Text: + this.drawText(shape); + break; + default: break; } @@ -126,6 +130,12 @@ class Canvas { ct.stroke(); ct.fill(); } + + drawText(shape) { + console.log('yes'); + const ct = this.context; + ct.fillText(shape.text, shape.nodes[0].x, shape.nodes[0].y); + } } diff --git a/src/Map/Shapes.js b/src/Map/Shapes.js index 3443f73..e394b69 100644 --- a/src/Map/Shapes.js +++ b/src/Map/Shapes.js @@ -23,6 +23,7 @@ class Shape { static Point = new ShapeType('Point'); static Path = new ShapeType('Path'); static Polygon = new ShapeType('Polygon'); + static Text = new ShapeType('Text'); constructor(type, nodes) { this.type = type; @@ -67,6 +68,14 @@ class Polygon extends Shape { } } +class Text extends Shape { + constructor(node, text, fontSize) { + super(Shape.Text, [node]); + this.text = text; + this.fontSize = fontSize; + } +} + class ZoomLevel extends Enum { static Globe = new ZoomLevel('Globe'); @@ -110,4 +119,4 @@ class MapObject { } -export { Node, Shape, Point, Path, Polygon, ZoomLevel, MapObject }; +export { Node, Shape, Point, Path, Polygon, Text, ZoomLevel, MapObject }; |