2016-09-18 17:57:47 +00:00
|
|
|
# termap - Terminal Map Viewer
|
|
|
|
|
|
|
|
Discover the world in your console! termap allows you to render and navigate
|
|
|
|
VectorTile based maps in your console.
|
|
|
|
|
2016-09-18 19:15:21 +00:00
|
|
|
* No native dependencies, 100% Coffee-/JavaScript
|
|
|
|
* Use your mouse or keyboard to navigate the map
|
2016-09-18 17:57:47 +00:00
|
|
|
* Use tile servers or local MBTiles and VectorTiles
|
|
|
|
|
2016-09-18 19:15:21 +00:00
|
|
|
## How to get it?
|
2016-09-18 17:57:47 +00:00
|
|
|
|
|
|
|
`npm install -g termap`
|
|
|
|
|
|
|
|
## Behind the scenes
|
|
|
|
|
|
|
|
### Libraries
|
2016-09-18 19:15:21 +00:00
|
|
|
* [`pbf`](https://github.com/mapbox/pbf) for Protobuf decoding
|
2016-09-18 17:57:47 +00:00
|
|
|
* [`vector-tile`](https://github.com/mapbox/vector-tile-js) for [VectorTile](https://github.com/mapbox/vector-tile-spec/tree/master/2.1) parsing
|
|
|
|
* [`term-mouse`](https://github.com/CoderPuppy/term-mouse) for mouse handling
|
|
|
|
* [`keypress`](https://github.com/TooTallNate/keypress) for input handling
|
|
|
|
* [`node-drawille`](https://github.com/madbence/node-drawille/) for braille rendering (to be replaced)
|
2016-09-18 00:44:31 +00:00
|
|
|
|
|
|
|
|
2016-09-18 19:15:21 +00:00
|
|
|
## Wishlist
|
|
|
|
* node-gyp binding to [libdrawille](https://github.com/Huulivoide/libdrawille) for speed refactor possibilities + filled polygons
|
|
|
|
|
|
|
|
### TODOs
|
2016-09-18 00:44:31 +00:00
|
|
|
* [ ] mapping of view to tiles to show
|
|
|
|
* [ ] tile request system
|
|
|
|
* [ ] from local mbtiles
|
|
|
|
* [ ] from remote url
|
|
|
|
* [ ] label drawing
|
2016-09-18 13:26:09 +00:00
|
|
|
* [ ] lat/lng-center + zoom based viewport
|
|
|
|
* [ ] TileSource class (abstracting URL, mbtiles, single vector tile source)
|
2016-09-18 00:44:31 +00:00
|
|
|
* [ ] zoom while keeping center
|
|
|
|
* [ ] API
|
|
|
|
* [ ] setCenter
|
|
|
|
* [ ] setZoom
|
|
|
|
* [x] accurate mouse drag&drop
|
2016-09-18 02:20:35 +00:00
|
|
|
* [x] handle console resize
|