Skip to content

Latest commit

 

History

History
66 lines (48 loc) · 1.36 KB

README.md

File metadata and controls

66 lines (48 loc) · 1.36 KB

mvt

GoDoc

Draw Mapbox Vector Tiles with ease.

Features

  • Mapbox Vector Tiles 2.1 support
  • MoveTo, LineTo, CubicTo, QuadraticTo
  • Defined 256x256 canvas
  • Uses floating points
  • Add tags and IDs to features
  • Fast encoding to MVT protobufs
  • No external dependencies

Install

go get -u github.com/tidwall/mvt

Example

var tile mvt.Tile
l := tile.AddLayer("triforce")
f := l.AddFeature(mvt.Polygon)

f.MoveTo(128, 96)
f.LineTo(148, 128)
f.LineTo(108, 128)
f.LineTo(128, 96)
f.ClosePath()

f.MoveTo(148, 128)
f.LineTo(168, 160)
f.LineTo(128, 160)
f.LineTo(148, 128)
f.ClosePath()

f.MoveTo(108, 128)
f.LineTo(128, 160)
f.LineTo(88, 160)
f.LineTo(108, 128)
f.ClosePath()

data := tile.Render()

// Data now contains a valid mapbox vector tile protobuf 
// for sending over the internets and styling to your 
// heart's content.

Helper functions

  • mvt.LatLonXY: Converts a lat/lon to the pixel offset for a specific tile.
  • mvt.TileBounds: Returns the lat/lon boundary for a tile.

Contact

Josh Baker @tidwall

License

mvt source code is available under the MIT License.