Tools for improving web maps. The centerpiece of the code is a client implementation of the MBTiles interaction specification.
wax.tooltip
wax.legend
wax.ol.Interaction
wax.ol.Legend
wax.g.Controls
wax.g.MapType
wax.g.mapBoxLogo
jquery.jsonp-2.1.4.js
, from jquery-jsonp
The main usage of mapping frameworks through Wax is via records. Records are pure JSON objects that have a 1:1 representation with function Javascript code, but, unlike imperative code, can be stored and manipulated as configuration. Records are tested with polymaps, openlayers and Google Maps API v3, but the system (/lib/record.js
) is generalized beyond mapping tools of any sort, to exist as a basic Javascript AST interpreter.
Currently records support several control techniques:
@new
instantiates objects@chain
runs functions, changing the value ofthis
with each run@inject
runs a function in a@chain
without changing the reference tothis
@call
runs a function from the global scope changing the value ofthis
@literal
allows an object attribute to be referenced@group
runs a set of record statements (e.g. using the keywords above) in order
These techniques (with arbitrary levels of nesting), are sufficient to construct maps in each mapping framework.
- Requires UglifyJS
Install mainline UglifyJS:
npm install https://github.com/mishoo/UglifyJS/tarball/master
Make the combined & minified OpenLayers & Google Maps libraries:
make build
Wax includes two libraries in /lib
which are included in builds
- underscore.js (MIT)
- jquery-jsonp (MIT)
- Bug fixes for Firefox 3
make ext
added for downloading and installing external libraries needed to use examples.- Bug fixes for legend, IE compatibility
- Initial release
- Tom MacWright (tmcw)
- Young Hahn (yhahn)
- Will White (willwhite)