The <mapml-viewer> is a declarative vocabulary for Web mapping that extends HTML to include modern Web maps. It is a pilot / reference implementation of the proposed and evolving Map Markup Language (MapML) Web standard.
$ npm install @maps4html/mapml
See instructions for further details.
You create a map with one or more layers via the <mapml-viewer> HTML tag. Add
layers via the <map-layer> tag with content OR a src attribute pointing to a
MapML document (must be served as either text/mapml
or application/xml
content
type):
<mapml-viewer projection="OSMTILE" zoom="0" lat="0.0" lon="0.0" controls>
<map-layer label="OpenStreetMap" src="https://geogratis.gc.ca/mapml/en/osmtile/osm/" checked></map-layer>
</mapml-viewer>
OR inline content
<mapml-viewer projection="OSMTILE" lat="10" lon="0" zoom="1" controls>
<map-layer label="OpenStreetMap" checked>
<map-extent units="OSMTILE">
<map-input name="z" type="zoom" value="18" min="0" max="18"></map-input>
<map-input name="x" type="location" units="tilematrix" axis="column" min="0" max="262144"></map-input>
<map-input name="y" type="location" units="tilematrix" axis="row" min="0" max="262144"></map-input>
<map-link rel="tile" tref="https://tile.openstreetmap.org/{z}/{x}/{y}.png"></map-link>
</map-extent>
</map-layer>
</mapml-viewer>
See CONTRIBUTING for details, but generally:
git checkout -b my-new-feature
git commit -am 'Add some feature'
git push origin my-new-feature
The idea of standardizing maps in the web platform arose from discussions at a W3C linking spatial data workshop in 2014. A second online workshop focused on maps for the web was held in 2020, and from the latter, many detailed requirements for maps on the web were presented. The MapML polyfill attempts to track and implement these (evolving) requirements, with the intent being to eventually fully specify and the requirements of web map users as an update to the HTML Living Standard, implemented by browsers.
Map for HTML Community members and supporters past, present and future.
All Reports in this Repository are licensed by Contributors under the
W3C Software and Document License.
Contributions to Specifications are made under the
W3C CLA.
Professional conduct on the part of our members is required and expected by our status as a project of the W3C Community and Business Groups program.