The Protomaps Map API is a hosted, CDN-accelerated web service for interactive maps on the web. The Map API serves square Web Mercator tiles based on the MVT Vector Tiles specification : vector-tile-spec
The Protomaps Map API is under heavy development.
- Access requires an API key.
- Requests made from a web browser are subject to Cross-Origin Resource Sharing (CORS) limitations. The list of allowed sites can be set per API key at the Dashboard.
The URL for accessing map tiles is:
cdn.protomaps.com subdomain. These requests do not need an API key.
Protomaps vector tiles are organized into the following layers:
- natural (polygon)
- Physical features like forests, wetlands and glaciers
- landuse (polygon)
- Manmade physical features like parks as well as abstract designations such as residential areas.
- water (polygon)
- Lakes, oceans, wide rivers, man made bodies of water such as pools, reservoirs
- buildings (polygon)
- physical_line (line)
- Embankments, waterway centerlines
- transit (line)
- roads (line)
- includes a
pmap:kindkey, which is one of highway, major_road, medium_road, minor_road, other
- includes a
- admin (line)
- Human-defined boundaries - countries and administrative divisions
- physical_point (point)
- Label points for seas, mountain peaks
- place (point)
- Human-defined label points for neighborhoods, cities, countries and neighborhoods
- poi (point)
- Zoom level 14 and above
A map rendering library is needed to display interactive maps on the web. The Protomaps Map API is designed to work with any renderer that supports MVT format tiles, including:
To use TangramJS, embed on your page:
See light.yml for an example on how to style a Tangram map based on these layers. More documentation is forthcoming.
To use MapLibre GL JS, embed on your page:
A library of styles for the MapboxGL renderer is coming soon. For an example of a "debug" map that renders each feature in its own color, see debug.json.