An open platform

In the previous section we discussed web maps as though there was only a single, unified map of the world from New York to Paris to Tokyo. In reality Mapbox isn’t designed for a single map. It’s an open platform meant for developers, designers, journalists, and cartographers to create thousands of custom maps to fit their own particular needs.

A world with many maps

To many the term “web map” conjures up an image of a road map – a map meant to help you get from one place to another by roads, usually in a car, bus or bicycle. There are many other types of maps and many of them are now leveraging web mapping conventions to become more accessible, powerful, and usable.

A quick sampling of such maps in the world will quickly convince you that no single map can cover the needs of everyone. Environmental organizations like InfoAmazonia show data like deforestation trends alongside recent events. News organizations like NPR highlight big data and show how pollution affects rust belt communities or towns located near major rivers. Hackers like Mapbox’s own Tom MacWright use maps to explore abstract spaces like that of a maze-generation algorithm.

Open specifications

To keep such a diverse body of custom maps and use cases from diverging in technology and design, Mapbox is built from open specifications. While these specifications range from solving problems that are mind-numbingly hard to completely mundane, they all try to keep the solution simple and direct.

In the following sections we’ll look at the following problems and the approach Mapbox takes to solving each one:

  • Describing maps. Keeping track of information about maps - where their tiles are stored, their centerpoints, bounds, supported zoom levels, markers data, attribution, and more - can be annoying. TileJSON is a standard format for describing various aspects of a map and makes for an easy entry point for loading and showing maps.
  • Styling markers. Maintaining a distinction between content and visual styling can be tricky when annotating maps. The simplestyle spec is a practical approach to describing visual markers on a map.
  • Storing tiles. Maps can be made of millions of tiles so they can be very hard to store and exchange. Each file needs to be separately copied, making a simple transfer to a USB drive or a server take hours on end. We’ll look at how the SQLite-based MBTiles format gets around these issues.
  • Scalable interaction. On a typical map you can have thousands of detailed features which all need to be interactive at the same time, and need to be usable on a variety of devices. UTFGrid is a format for interactive data that uses JSON and can be transferred tile-by-tile to fit maps of any scale.

Mission complete! Next up:

  • We’ve looked at how Mapbox is a platform meant to handle not just one, but thousands of custom web maps. In the next section we’ll look at how TileJSON simplifies the task of working with any custom map, whether it spans the globe or just your backyard.