-The W3C [Maps for HTML Community Group](https://www.w3.org/community/maps4html/)
-is iterating on the problem space.
-You can contribute to the on-going discussion and documentation of
-[Use Cases and Requirements for Standardizing Web Maps](https://maps4html.org/HTML-Map-Element-UseCases-Requirements/).
-Alternatively, if your organization is a member of the
-[Web Platform Incubator Community Group](https://www.w3.org/community/WICG/) (WICG)
-and you are able to contribute there but not elsewhere,
-please consider contributing through the [WICG forum on Web mapping](https://discourse.wicg.io/c/web-mapping/22).
-We would love to hear from you.
+The W3C [Maps for HTML Community Group](https://www.w3.org/community/maps4html/)
+is iterating on the problem space.
+You can contribute to the on-going discussion and documentation of
+[Use Cases and Requirements for Standardizing Web Maps](https://maps4html.org/HTML-Map-Element-UseCases-Requirements/).
[Issue tracker for this explainer](https://github.com/Maps4HTML/MapML-Proposal/issues)
Introduction
-Web maps are a well-established domain of Web design, and there exist popular, mature open and closed source JavaScript libraries to create and manage Web maps. JavaScript web maps are often containers for publicly available and funded open geospatial and statistical data. Yet despite established JavaScript libraries and server-side API standards, Web maps remain a complex Web niche that is difficult to learn, due to their extensive prerequisite knowledge requirements. As a result, there exists a community of Web map developers which contributes very little to the Web platform and which may possess little understanding that the Web exists as a distinct and standards-based platform. Similarly, the Web platform seems mostly oblivious to Web maps and their requirements, and provides no direct support for maps. In other words, Web maps existence in the Web platform depends on intermediaries which “abstract away” the Web platform.
+We propose to extend the Web platform with HTML primitives that implement map and
+location semantics. We call the proposed HTML extension "MapML".
-The goal of this proposal is to bridge the gap between the two communities in a way that may have positive benefits for both sides. On the one hand, the Web mapping community is burdened by intermediaries and the consequent barriers to widespread creation and use of maps and public map information. On the other hand, the Web platform, especially the mobile Web, needs more and better high-level features and less JavaScript. Simple yet extensible Web maps in HTML, that equally leverage the other platform standards, is the feature that both communities need to come together to improve usability and accessibility for users.
+The core idea is to easily enable web developers to create map viewports on a web
+page that are georeferenced, and into which HTML map content may be added in
+declarative fashion, and manipulated or accessed using the DOM.
-
Contents
+The map viewport is a rectangular window in a web page in which "real-world"
+coordinate reference systems are used, and viewport-to-real-world scales may be
+used for positioning and styling of HTML map content. The geometric or mathematical
+relationship between the viewport and the "real world" is provided and managed by
+the browser, especially by the browser rendering engine.
-- [The Problem](#the-problem)
-- [The Proposal](#the-proposal)
- - [Goals](#goals)
-
- - [A High-Level API](#a-high-level-api)
- - [Key Scenarios](#key-scenarios)
-- [Detailed design discussion](#detailed-design-discussion)
- - [Use Cases and Requirements](#use-cases-and-requirements)
- - [W3C/OGC Joint Workshop on Maps for the Web](#w3c-ogc-joint-workshop-on-maps-for-the-web)
-- [Considered Alternative Designs of MapML](#considered-alternative-designs-of-mapml)
-- [Alternative Approaches](#alternative-approaches)
-- [Stakeholder Feedback / Opposition](#stakeholder-feedback--opposition)
-- [References and Acknowledgements](#references-and-acknowledgements)
+MapML Polyfill
-
The Problem
+We have developed a polyfill for MapML, using custom elements,
+in which we've tried to follow platform advice. The user documentation for the
+polyfill is [available online here](https://maps4html.org/web-map-doc/).
-Web maps today are created using a wide range of technology stacks on both the client and server, some standard, some open, and some proprietary. The complexity of choices and the wide variety of technologies required to create Web maps results in maps of highly variable usability and accessibility. This has in turn led to the creation of centralized mapping services, that may or may not be implemented using Web technology; in some cases, mapping services which work well on desktop Web browsers mostly bypass the mobile Web through creation of mobile platform mapping apps, where the ‘rules of the Web platform’ (such as device permissions) do not apply. Some centralized mapping services, both on the Web but especially on mobile technology platforms, are constructed for the purpose of tracking the user’s location and their locations of (search) interest, and using that private location information to market and re-sell highly targeted advertising.
+In some cases, existing HTML elements have a required common function, so we have
+proposed to extend those elements with new attributes, properties, events and
+behavior.
-The problem to be solved, therefore, is to reduce the threshold complexity of creating accessible, usable and privacy-preserving Web maps, and to enable full use of Web platform standards such as HTML, URL, SVG, CSS and JavaScript in map creation, styling, presentation and interaction.
+In other cases, there is a need for an entirely new element or element group,
+e.g.
-
The Proposal
+The polyfill is implemented especially using autonomous custom elements.
+Many of our polyfill's custom elements use the 'map-' namespace prefix. In all
+cases where we propose to extend a current native HTML element, we have created
+an autonomous custom element named 'map-'whatever e.g. We were forced
+to do this because of the lack of interoperability of customized built-in elements.
-To solve the problem, our approach is to identify the Web map processing that is currently performed by JavaScript libraries which should instead be defined - in accordance with the Web Platform Design Principles - as elements and attributes supported by CSS, while at the same time, we identify the Web map processing that should remain in the JavaScript domain as a standardized DOM API. By building the core behaviour of maps and layers into HTML, Web authors who want to build simple maps into their pages can easily do so, supported by core platform technologies, with the power of JavaScript available to enhance the core map and layer behaviour.
+
Contents
-By lowering the barriers for Web map authors in this way, we will improve the usability, and standardize the accessibility of Web maps. Through making map creation a matter of applying appropriately crafted Web platform standards, we will create the conditions to multiply the choices of mapping services offered to authors and users of the Web.
+- [Introduction](#introduction)
+- [Motivation](#motivation)
+- [The Proposal](#the-proposal)
+- [Goals](#goals)
+- [Use Cases and Requirements](#use-cases-and-requirements)
+- [Key Scenarios](#key-scenarios)
+- [Considered Alternative Designs of MapML](#considered-alternative-designs-of-mapml)
+- [Stakeholder Feedback](#stakeholder-feedback)
+- [References and Acknowledgements](#references-and-acknowledgements)
-In improving the choices among mapping services available through the Web platform, we will enable the growth of services that offer alternate means of paying for maps other than in exchange for the user’s personal private information, and we will enable standardized Web map accessibility through addition of maps to HTML. Finally, by making it cheaper to create Web maps than to build mobile apps, we will improve the business rationale for choosing the mobile Web as a development platform, and in doing so we hope the (mobile) Web will benefit from increased ‘success’, or network effects.
+
Motivation
+
+Web maps are a widespread and important, not to say essential, feature of the modern
+web. Maps occur on 16% of web pages, and 22% of web maps contain interactive
+representations of places (aka "features"). The number of maps on web pages exceeds
+that of other media types, including \