From e9d82fe6be075f67b0fc000b0a28eb5c540fb3f7 Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Mon, 24 Jun 2019 20:53:08 +0000 Subject: [PATCH 01/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- .gitignore | 2 + .travis.yml | 24 + index.html | 2894 ++++++++++++++++++++++++--------------------------- 3 files changed, 1414 insertions(+), 1506 deletions(-) create mode 100644 .travis.yml diff --git a/.gitignore b/.gitignore index 96374c4..ec134e0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +build-index.html + # Windows image file caches Thumbs.db ehthumbs.db diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..3bc19e0 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,24 @@ +language: node_js +node_js: + - lts/* +branches: + only: + - master +cache: + # cache global npm modules + directories: + - $HOME/.npm-cache +script: + # run the respec2html utility + # if successful, replace the source index.html with the generated one & clean up + - echo "Building the ReSpec page" + - npx -p respec respec2html -s index.html -o build-index.html && echo "Build OK. Cleaning up" && rm index.html && mv build-index.html index.html + # Note: We may need to add a GitHub token to the ReSpec config to avoid rate limiting +deploy: + # publish as a commit to the gh-pages branch + skip_cleanup: true + keep_history: true + provider: pages + github_token: $GITHUB_PAGES_AUTH +# after_failure: + # create a GH issue? \ No newline at end of file diff --git a/index.html b/index.html index 833b484..ef52921 100644 --- a/index.html +++ b/index.html @@ -1,8 +1,71 @@ - - - + Use Cases and Requirements for Standardizing Web Maps - + - - - - -
+ ], + "wg": "Maps For HTML Community Group", + "wgURI": "https://www.w3.org/community/maps4html/", + "localBiblio": { + "MapML": { + "title": "Map Markup Language", + "href": "https://maps4html.github.io/MapML/spec/", + "publisher": "Maps for HTML Community Group", + "id": "mapml" + }, + "HTML-map-element": { + "title": "The HTML map Element proposal", + "href": "https://maps4html.github.io/HTML-Map-Element/spec/", + "publisher": "Maps for HTML Community Group", + "id": "html-map-element" + }, + "webcomponents-design-guidelines": { + "title": "Guidelines for creating web platform compatible components", + "href": "https://www.w3.org/2001/tag/doc/webcomponents-design-guidelines/", + "publisher": "W3C TAG", + "id": "webcomponents-design-guidelines" + }, + "WGS84": { + "title": "World Geodetic System 1984", + "href": "http://earth-info.nga.mil/GandG/publications/tr8350.2/wgs84fin.pdf", + "publisher": "US National Imagery and Mapping Agency", + "id": "wgs84" + } + }, + "otherLinks": [ + { + "key": "Participate", + "data": [ + { + "value": "GitHub Maps4HTML/HTML-Map-Element-UseCases-Requirements", + "href": "https://github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements/" + }, + { + "value": "File a bug", + "href": "https://github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements/issues/" + }, + { + "value": "Commit history", + "href": "https://github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements/commits/gh-pages" + }, + { + "value": "Pull requests", + "href": "https://github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements/pulls/" + } + ] + }, + { + "key": "Join the Community Group", + "data": [ + { + "value": "Maps For HTML Community Group", + "href": "https://www.w3.org/community/maps4html/" + } + ] + } + ], + "publishISODate": "2019-06-24T00:00:00.000Z", + "generatedSubtitle": "Draft Community Group Report 24 June 2019" +} +
+ +

Use Cases and Requirements for Standardizing Web Maps

+ +

+ Draft Community Group Report + +

+
+ + +
Latest editor's draft:
https://maps4html.github.io/HTML-Map-Element-UseCases-Requirements/
+ + + + + +
Editor:
+
+ +
+ Authors: +
Amelia Bellamy-Royds
Nic Chan
Nick Fitzsimons
Peter Rushforth
+
Participate:
+ GitHub Maps4HTML/HTML-Map-Element-UseCases-Requirements +
+ File a bug +
+ Commit history +
+ Pull requests +
Join the Community Group:
+ Maps For HTML Community Group +
+
+ + +
+
+

Abstract

This report outlines the use cases and requirements for standardizing modern Web maps, @@ -151,22 +620,33 @@ The common features and limitations of the current techniques are the basis of the requirements for a standardized solution that could be built in to HTML and web browsers. -

- -
+

+ +

Status of This Document

+ This specification was published by the + Maps For HTML Community Group. It is not a W3C Standard nor is it + on the W3C Standards Track. + + Please note that under the + W3C Community Contributor License Agreement (CLA) + there is a limited opt-out and other conditions apply. + + Learn more about + W3C Community and Business Groups. +

Comments, corrections, and suggested additions should be made as GitHub issues. If that is not possible, send an email comment to public-maps4html@w3.org.

-
+
-

Introduction

+

1. Introduction

-
-

The current state of web maps

+
+

1.1 The current state of web maps

Web maps today are indispensable to billions of people, for exploring and understanding the world around them. @@ -250,8 +730,8 @@

The current state of web maps

-
-

The Maps for HTML Community Group

+
+

1.2 The Maps for HTML Community Group

The Maps For HTML Community Group (Maps4HTML) arose as a result of face-to-face @@ -270,8 +750,8 @@

The Maps for HTML Community Group

The initial requirements sketched out at LGD2014 were expanded into an initial use cases and requirements summary. -That work was the basis of the draft [[[MapML]]] specification -and [[[HTML-map-element]]] proposal. +That work was the basis of the draft Map Markup Language specification +and The HTML map Element proposal proposal. Although MapML has had notable support and development efforts from within the geospatial community, as of early 2019 it has not received significant support @@ -282,7 +762,7 @@

The Maps for HTML Community Group

why native HTML web maps would be beneficial, and how they should best be defined.

-
+
Editor's note

This report is a work in progress! Feedback and contributions are welcome. @@ -299,11 +779,11 @@

The Maps for HTML Community Group

become a member of the community group and make the corresponding IP commitments.

-
+
-
-

Structure of this report

+
+

1.3 Structure of this report

The purpose of this report is to describe (1) why and how the open web would benefit from having @@ -319,10 +799,10 @@

Structure of this report

needs to be assessed on the same merits as any other proposed web standard.

-In , +In § 2. Guiding Principles, we outline the theoretical factors we use for assessing whether a given feature should be included as a requirement. -In , +In § 3. Reviewed JavaScript Tools, we introduce the web map frameworks that are used in the empirical review.

@@ -331,24 +811,24 @@

Structure of this report

-Within each part, we identify potential use cases: +Within each part, we identify potential use cases: problems that a website author or user wants a web map to solve. The use cases are defined in pragmatic terms, describing a specific function or action. @@ -356,7 +836,7 @@

Structure of this report

are summarized in an introductory description.

-We then list technological capabilities: +We then list technological capabilities: features, which a web map might include, that could help solve the use cases. Capabilities are potential requirements for a native HTML web map. To assess whether the capability should be a requirement, we examine: @@ -392,16 +872,16 @@

Structure of this report

We assign it one of three possible conclusions:

-
requirement
+
requirement
The capability is essential for a native HTML web map implementation.
-
enhancement
+
enhancement
The capability would be nice to have in native HTML web maps, but isn't necessary for the initial specification.
-
impractical
+
impractical
The capability isn't currently realistic for inclusion in native HTML web maps.
@@ -409,14 +889,14 @@

Structure of this report

If there is not yet enough evidence for a conclusion, the capability will be marked -undecided. +undecided.

-

Guiding Principles

+

2. Guiding Principles

The structure of this review is inspired by many other projects that have outlined best practices for web standards developments. @@ -425,7 +905,7 @@

Guiding Principles

-

The extensible web

+

2.1 The extensible web

The report uses an evidence-based approach, defining requirements not based on hypothetical use cases @@ -436,11 +916,11 @@

The extensible web

that web users and website authors expect from native web maps.

-This approach is inspired by [[[EXTENSIBLE]]] +This approach is inspired by The Extensible Web Manifesto which aims to “tighten the feedback loop between the editors of web standards and web developers,” establishing “a clear path for good ideas by web developers to become part of the infrastructure of the web” -[[EXTENSIBLE]]. +[EXTENSIBLE].

Much of the manifesto focuses on making it easier @@ -474,7 +954,7 @@

The extensible web

-

Priorities for web standards

+

2.2 Priorities for web standards

To decide whether a capability @@ -494,14 +974,14 @@

Priorities for web standards

the number of website authors who use it will (hopefully) be much larger than the number of people who worked on the initial standard; the number of people who use those websites will be larger still. -The [[[html-design-principles]]] +The HTML Design Principles rely on these numbers to establish a “priority of constituencies”:

In case of conflict, consider users over authors over implementors over specifiers over theoretical purity. … Of course, it is preferred to make things better for multiple constituencies at once. -[[html-design-principles]] +[html-design-principles]

This section introduces the categories by which we measure @@ -509,7 +989,7 @@

Priorities for web standards

-

Users

+

2.2.1 Users

An inclusive web is available to everyone, to connect and create in the ways most comfortable to them. @@ -519,77 +999,61 @@

Users

the user-friendliness of a potential web map feature is assessed on these points:

-
privacy & security
+
privacy & security

Can this feature be implemented in a privacy-respecting manner? Are there any other security concerns from this feature? Would making it a built-in feature, standardized in web browsers, -improve privacy & security compared to current web practice? +improve privacy & security compared to current web practice?

Tags for the costs and benefits of potential requirements:

  • -Privacy: potential improvement +Privacy: potential improvement indicates that a built-in browser implementation of this feature, if done correctly, could improve the protection of the end user's privacy, compared to current practices on the web.
  • -Privacy: potential improvement for website origin isolation +Privacy: potential improvement for website origin isolation indicates that a built-in browser implementation of this capability, if done correctly, could make it easier for website authors to use web maps without exposing confidential (user or corporate) data to third parties.
  • -Security: potential improvement +Security: potential improvement indicates that a built-in browser implementation of this capability, if done correctly, could improve the protection of the security of the browser environment, compared to current practices.
  • -Privacy: involves personal data +Privacy: involves personal data indicates that in order to fully implement this capability, the browser would have access to sensitive or personally-identifying data about the user, which would need to be protected.
  • -Privacy: possible fingerprinting +Privacy: possible fingerprinting indicates that implementing this capability would expose to website code user settings or data from device sensors, which could make it easier for website trackers to generate a unique “fingerprint” for identifying that user across many sites.
  • -Privacy: reveals sensitive data +Privacy: reveals sensitive data indicates that fully implementing this capability requires revealing sensitive or personally-identifying data to website code.
  • -Security: user interface override +Security: user interface override indicates that this capability allows website code to alter the normal browser UI in a way that could be used by a malicious code to mislead users.
  • -Security: other risks +Security: other risks indicates that this capability includes other aspects that could make a secure implementation difficult.
  • @@ -598,10 +1062,10 @@

    Users

@@ -615,24 +1079,18 @@

Users

Related tags:

  • -Accessibility: potential improvement +Accessibility: potential improvement indicates that a built-in browser implementation of this feature, if done correctly, could improve the accessibility compared to current practices on the web.
  • -Accessibility: research needed +Accessibility: research needed indicates that there is not a clear best practice for how to implement this capability accessibly.
  • -Accessibility: needs author-provided context +Accessibility: needs author-provided context indicates that a good browser implementation is not enough to make this capability fully accessible; content author would always need to provide extra information @@ -643,19 +1101,19 @@

    Users

    -
    internationalization & localization
    +
    internationalization & localization

    Can this feature be implemented in a manner that works for all languages and regions? @@ -664,47 +1122,35 @@

    Users

    Related tags:

    • -Internationalization: potential improvement (languages) +Internationalization: potential improvement (languages) indicates that a native browser implementation, if done correctly, could improve the handling of text in many languages, compared to current practices in web maps.
    • -Internationalization: potential improvement (spatial data) +Internationalization: potential improvement (spatial data) indicates that a native browser implementation, if done correctly, could improve the ability of web maps (compared to current practices) to work in many regions with different ways of describing locations and other spatial data.
    • -Internationalization: UI localization required +Internationalization: UI localization required indicates that a correct implementation of this feature would need to include translations or other localizations (e.g., different icons or layout).
    • -Internationalization: regional standards +Internationalization: regional standards indicates that the standard UI patterns or data formats vary by geographic region.
    • -Internationalization: difficult to do well +Internationalization: difficult to do well indicates that the capability involves other aspects that are frequent sources of internationalization and localization errors.
    • -Internationalization: unstable data +Internationalization: unstable data indicates that a correct implementation depends on information that may change over time , and would need to be updated by the browser. @@ -717,12 +1163,12 @@

      Users

    • Internationalization Best Practices for Spec Developers -[[international-specs]] +[international-specs]
    -
    performance & cost to users
    -
    +
    performance & cost to users
    +

    Would building in this feature significantly reduce the amount of data downloaded to the user device, or the amount of custom code that needs to run? @@ -731,42 +1177,36 @@

    Users

    Related tags:

    • -Performance: data savings +Performance: data savings indicates that making this a browser feature could reduce data demands on the user's network. Of course, nearly any built-in capability will create some data savings compared to downloading JavaScript to achieve the same effect; this tag is only used when the potential data savings are particularly notable.
    • -Performance: potential optimization +Performance: potential optimization indicates that a native browser implementation could be much more efficient in its computation requirements, compared to JavaScript tools.
    • -Performance: high cost feature +Performance: high cost feature indicates that this feature involves high performance costs, regardless of whether it is defined in browser code or in JavaScript.

    Further information:

      -
    • +
      Issue
    • Need references regarding performance considerations for spec developers. -
    • +
-

Authors

+

2.2.2 Authors

Website authors include developers who write code and writers, designers, and other creators of web content. @@ -780,7 +1220,7 @@

Authors

But there are other ways a good web standard can make the author's job easier:

-
simplicity & flexibility
+
simplicity & flexibility

For an author, a good web standard @@ -790,22 +1230,16 @@

Authors

Related tags:

  • -Author experience: simple defaults +Author experience: simple defaults indicates that the capability would greatly simplify authoring common use cases.
  • -Author experience: extensible +Author experience: extensible indicates that the capability provides an important hook for extending the basic web map experience.
  • -Author experience: customizable design +Author experience: customizable design indicates that the capability is needed to allow authors to customize the appearance of web maps to better integrate with their site design @@ -813,7 +1247,7 @@

    Authors

-
maintainability & cost to authors
+
maintainability & cost to authors

Do current implementations of the feature rely on third-party services @@ -823,22 +1257,18 @@

Authors

Related tags:

  • -Author maintainability: removes dependencies on third-party services +Author maintainability: removes dependencies on third-party services indicates that current implementations cannot be fully self-hosted by the website, creating a third-party dependency that could be removed with a native HTML capability.
  • -Author maintainability: cost savings +Author maintainability: cost savings indicates that current web map implementations of the feature have ongoing service costs which could be mitigated by integrating with native platform versions of the feature.
-
consistency & coordination with the existing web platform
+
consistency & coordination with the existing web platform

Can this feature be defined in a way that integrates well with the rest of the web? @@ -848,37 +1278,27 @@

Authors

Related tags:

  • -Consistency: established patterns +Consistency: established patterns indicates that this capability can be modelled after an existing concept or pattern in the web platform.
  • -Consistency: progressive enhancement +Consistency: progressive enhancement indicates that this capability could be included in websites as an optional enhancement of existing functionality.
  • -Consistency: fallbacks possible +Consistency: fallbacks possible indicates that this capability could be designed to support degradation to a fallback state (with corresponding loss of function or extra costs).
  • -Consistency: platform is inconsistent +Consistency: platform is inconsistent indicates that it will be difficult to make this feature consistent with the web platform, because existing platform features are inconsistent with each other.
  • -Consistency: breaks established patterns +Consistency: breaks established patterns indicates that the feature would be clearly inconsistent with other aspects of the web platform.
  • @@ -886,10 +1306,10 @@

    Authors

-

Further information for all authoring & API design considerations:

+

Further information for all authoring & API design considerations:

-

Implementers

+

2.2.3 Implementers

Implementers, for a web standard, are the people who build and maintain web browsers and other user agent software. @@ -926,16 +1346,12 @@

Implementers

Related tags:

  • -Implementation: Extends web platform +Implementation: Extends web platform indicates that this capability is an incremental extension of existing web platform features, and could be designed to reuse a lot of existing code.
  • -Implementation: Exposes native platform +Implementation: Exposes native platform indicates that, while this capability is not currently available in the web platform, it exists in native application frameworks supported by the major operating systems. A web browser could expose the native feature instead of re-implementing it from scratch. @@ -949,7 +1365,7 @@

    Implementers

-

Reviewed JavaScript Tools

+

3. Reviewed JavaScript Tools

Numerous options currently exist for a website author who wants to include a map viewer in a web page, @@ -964,7 +1380,7 @@

Reviewed JavaScript Tools

In addition, multiple open source JavaScript libraries have developed to make it easier for website authors to build on other map data services.

-

Need data to back up the reference implementations.

+

Need data to back up the reference implementations.

The reviewed implementations come in three forms:

@@ -980,7 +1396,7 @@

Reviewed JavaScript Tools

  • HTML custom elements, with configuration through attributes and child elements. -

    Need to decide on web component examples to use as reference.

    +

    Need to decide on web component examples to use as reference.

  • @@ -995,31 +1411,31 @@

    Reviewed JavaScript Tools

    to each of the reference tools:

    -
    full support
    +
    full support
    The capability is implemented in a correct and comprehensive manner.
    -
    supported, with limitations
    +
    supported, with limitations
    The feature is implemented, but there are notable limitations when assessing the implementation against our priorities.
    -
    partial support
    +
    partial support
    Some parts of the feature are implemented.
    -
    no support
    +
    no support
    The capability could theoretically exist in the tool, but isn't included.
    -
    not applicable
    +
    not applicable
    The capability doesn't make sense for this tool, because of other aspects of its design.
    -

    +

    Note

    Compiling and serving map data is a complex, expensive enterprise. Many of the map data and search services require registered developer accounts, with usage-based pricing. @@ -1028,12 +1444,12 @@

    Reviewed JavaScript Tools

    or that use data which is available from many interchangeable sources. However, because of the complexities of pricing models used by some services, we don't strictly exclude paid features from our assessment of support. -

    +

    -

    Google Maps embeds and Google Maps Platform API

    +

    3.1 Google Maps embeds and Google Maps Platform API

    - + By far the most frequently used map widget on the web,[citation needed] Google Maps established many of the de facto standards in how a web map works.

    @@ -1049,11 +1465,11 @@

    Google Maps embeds and Google Maps Platform API

    It also includes methods to access more complex search functions, local images, and other data. Most features require an API key and is billed by usage (page views or API requests).

    -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -

    OpenStreetMap embeds

    +

    3.2 OpenStreetMap embeds

    OpenStreetMap is a project to compile free-to-use wayfinding maps of the entire Earth, from crowdsourced contributions. @@ -1068,11 +1484,11 @@

    OpenStreetMap embeds

    and these are used in other map viewer widgets and APIs. The raw data is also re-processed and used by other map data services.

    -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -

    Bing Maps embeds and Bing Maps Control API

    +

    3.3 Bing Maps embeds and Bing Maps Control API

    Bing maps provides embeds that can be generated from their website. For more complex options, the API @@ -1081,11 +1497,11 @@

    Bing Maps embeds and Bing Maps Control API

    as well as an interface to Bing's search services. API tokens are required; free and paid plans are available, with usage caps.

    -

    Discuss this section on GitHub.

    +
    -

    MapKit JS (Apple Maps) API

    +

    3.4 MapKit JS (Apple Maps) API

    MapKit JS provides a JS framework for integrating Apple Maps in a website, @@ -1096,11 +1512,11 @@

    MapKit JS (Apple Maps) API

    A developer account is required, along with a method of generating encrypted API tokens on demand on the webserver.

    -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -

    Mapbox GL JS API

    +

    3.5 Mapbox GL JS API

    Mapbox provides map data as a service, as well as frameworks for multiple platforms. @@ -1113,11 +1529,11 @@

    Mapbox GL JS API

    An API key is required, with cost based on usage.

    -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -

    Leaflet.js API

    +

    3.6 Leaflet.js API

    Leaflet is a popular open-source JavaScript framework for building customized map views. @@ -1128,22 +1544,22 @@

    Leaflet.js API

    Leaflet isn't associated with any particular map data source. It can use image tiles from most web map (tile) services.

    -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -

    OpenLayers API

    +

    3.7 OpenLayers API

    OpenLayers is one of the most established open-source libraries for creating dynamic web maps from map data in standard formats. As with Leaflet, it isn't associated with any particular map service. A basic slippy map can be created with a few lines of custom JavaScript.

    -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -

    D3 Geographies APIs

    +

    3.8 D3 Geographies APIs

    The data visualization library D3 includes the d3-geo module which defines methods for manipulating vector map data @@ -1152,12 +1568,12 @@

    D3 Geographies APIs

    D3 does not include code for a ready-made map viewer widget, but it is used for custom client-side mapping applications.

    -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -

    Map Viewer Widgets

    +

    4. Map Viewer Widgets

    The map viewer widget is the interactive component that displays a map to end users. The map might be the primary purpose of a website, @@ -1180,7 +1596,7 @@

    Map Viewer Widgets

    The potential requirements in this section describe ways in which map viewers enhance the normal experience of viewing a static image (e.g., img element) in a web page. - explores data structures and file formats. +§ 6. Map Data Formats for Map Viewers explores data structures and file formats.

    See examples of default map viewers @@ -1189,7 +1605,7 @@

    Map Viewer Widgets

    -

    Authoring use cases

    +

    4.1 Authoring use cases

    For declarative widgets, website authors are presenting information. The authoring use cases cover the types of map data they may wish to display. @@ -1199,7 +1615,7 @@

    Authoring use cases

    -

    Display a specific location on an interactive map

    +

    4.1.1 Display a specific location on an interactive map

    For a website creator, this is the simplest web map use case: display a map from a description of a location. @@ -1216,19 +1632,19 @@

    Display a specific location on an interactive map

    See examples of single-location map viewers as implemented by the reference JavaScript tools.

    -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -
    Required capabilities
    +
    Required capabilities
    -

    Display a region of map data as a static image

    +

    4.1.2 Display a region of map data as a static image

    Although this review mainly focuses on interactive map viewers, authors sometimes want a map displayed as a static image, without pan/zoom capabilities. @@ -1236,46 +1652,46 @@

    Display a region of map data as a static image

    refers to specific features in the map, or when a series of maps will be contrasted.

    -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -
    Required capabilities
    +
    Required capabilities
    -

    Display multiple point locations on a single map

    +

    4.1.3 Display multiple point locations on a single map

    -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -
    Required capabilities
    +
    Required capabilities
    -

    Display routes/paths or regions

    +

    4.1.4 Display routes/paths or regions

    -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -

    Display custom web content describing map features

    +

    4.1.5 Display custom web content describing map features

    -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -

    Display map coverages or other custom tile data

    +

    4.1.6 Display map coverages or other custom tile data

    Unlike map features, which can be defined in geometric terms, map coverages define continuous variations, and are usually represented as image data. @@ -1290,25 +1706,25 @@

    Display map coverages or other custom tile data

    maps of proposed developments or historical geography, or any other type of map not included in the major way-finding street maps.

    -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -
    Required capabilities
    +
    Required capabilities
    -

    Combine multiple layers of map tile data or features

    +

    4.1.7 Combine multiple layers of map tile data or features

    -

    Discuss this section on GitHub.

    +
    Issue 11: Use Case: Layer together multiple map data sources discussion: use casesection: map viewerstatus: placeholder

    Discuss this section on GitHub.

    -

    Display drawings or schematics without geographic coordinates

    +

    4.1.8 Display drawings or schematics without geographic coordinates

    Many of the capabilities of a map viewer widget — panning and zooming, possibly with synchronized layers @@ -1324,14 +1740,11 @@

    Display drawings or schematics without geographic coordinates

    for displaying these types of map-like content.

    - +

    -

    Discuss this section on GitHub.

    +
    Issue 1: Use case: Technical drawings (panning, zooming, layers, etc.) discussion: use casesection: map viewerstatus: editor's draft

    Discuss this section on GitHub.

    -
    Required capabilities
    +
    Required capabilities
    @@ -1339,10 +1752,10 @@
    Required capabilities
    -

    End-user use cases

    +

    4.2 End-user use cases

    -

    Reposition or scale a map to find more context for the displayed locations

    +

    4.2.1 Reposition or scale a map to find more context for the displayed locations

    Users often want more information than is initially visible in a map viewer. The user may zoom out or pan, to help place the displayed location in a larger context. @@ -1359,11 +1772,11 @@

    Reposition or scale a map to find more context for the displayed locationsstandard/intuitive keyboard shortcuts
  • accessibility API events (e.g., as triggered by a screen reader or voice control software)
  • -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -

    Access additional information about a point on the map

    +

    4.2.2 Access additional information about a point on the map

    A map view can't show everything all at once. Users often want to find more information about the representations on the map. @@ -1382,53 +1795,53 @@

    Access additional information about a point on the map

    But to the extent that the information is already available in the map viewer, it should be accessible by users without the author adding extra features.

    -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -

    Show/hide layers of map tile data or features

    +

    4.2.3 Show/hide layers of map tile data or features

    -

    Discuss this section on GitHub.

    +
    Issue 40: Use Case: Toggle visibility of map layers discussion: use casesection: map viewerstatus: placeholder

    Discuss this section on GitHub.

    -

    Bookmark a location

    +

    4.2.4 Bookmark a location

    -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -

    Search or sort within a set of geographic features

    +

    4.2.5 Search or sort within a set of geographic features

    -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -

    Customize the color scheme (light/dark or high contrast)

    +

    4.2.6 Customize the color scheme (light/dark or high contrast)

    -

    Discuss this section on GitHub.

    +

    Discuss this section on GitHub.

    -

    Map Viewer Capabilities

    +

    4.3 Map Viewer Capabilities

    -

    Generate a default map for a given area

    +

    4.3.1 Generate a default map for a given area

    Often, the website author does not want to specify the map data source or other details about the map; they just want a generic wayfinding map of the area.

    -
    Existing implementations
    +
    Existing implementations

    The embeds and commerical APIs all provide default street maps without the author needing to specify the map source. @@ -1441,34 +1854,34 @@

    Existing implementations
    openstreetmap-embed
    bing-maps-embed
    -
    full support: +
    full support: this is the basic function for these widgets: give it a location, it will draw the map.
    leaflet-api
    open-layers-api
    -
    no support: +
    no support: must be combined with a separate map provider.
    -
    Supported use cases
    +
    Supported use cases
      -
      Uses beyond mapping
      +
      Uses beyond mapping

      No non-map uses for generating a default street map. But, there may be interest in displaying default maps as static images in addition to using them within map widgets.

      -
      Related web specifications
      +

      -
      Conclusion
      +
      Conclusion

      -This functionality is a highly valuable enhancement +This functionality is a highly valuable enhancement for native web maps, especially if it could be built on native platform features that allow the users to download maps in advance for later use. @@ -1476,66 +1889,63 @@

      Conclusion
      they would need to rely on a third-party service for the map data.

        - +
      • - +
      -

      Display a map using tile data from an author-specified web map service

      +

      4.3.2 Display a map using tile data from an author-specified web map service

      - +

      -
      Existing implementations
      +
      Existing implementations

      google-maps-api
      - full support + full support
      google-maps-embed
      openstreetmap-embed
      bing-maps-embed
      - no support + no support
      -
      Supported use cases
      +
      Supported use cases
        -
        Uses beyond mapping
        +
        Uses beyond mapping

        - +

        -
        Related web specifications
        +

        - +

        -
        Conclusion
        +
        Conclusion

          - +
        • - +
        -

        Display map tiles defined in various common coordinate systems

        +

        4.3.3 Display map tiles defined in various common coordinate systems

        Most tiled image maps on the web use the Web Mercator system of dividing map data into image tiles. @@ -1561,128 +1971,110 @@

        Display map tiles defined in various common coordinate systems

        Combining map layers with different projections, or otherwise converting one map projection to another view, -is a separate capability, discussed in . +is a separate capability, discussed in § 4.3.21 Reproject map tile data into a new projection or globe view.

        -

        Discuss this section on GitHub.

        +

        Discuss this section on GitHub.

        -
        Existing implementations
        +
        Existing implementations

        - +

        google-maps-api
        - supported, with limitations: you are able to create custom projections that are rectilinear by passing in a bi-directional mapping between coordinate systems + supported, with limitations: you are able to create custom projections that are rectilinear by passing in a bi-directional mapping between coordinate systems
        google-maps-embed
        openstreetmap-embed
        bing-maps-embed
        - no support + no support
        -
        Supported use cases
        +
        Supported use cases
          -
          Uses beyond mapping
          +
          Uses beyond mapping

          - +

          -
          Related web specifications
          +

          - +

          -
          Conclusion
          - +
          Conclusion
          +

          - - - -Based on the limited data, we are undecided about whether this should be a requirement. + + + +Based on the limited data, we are undecided about whether this should be a requirement.

            - +
          • - +
          -

          Show pinpoint locations or custom markers on the map

          +

          4.3.4 Show pinpoint locations or custom markers on the map

          - +

          -

          Discuss this section on GitHub.

          +

          Discuss this section on GitHub.

          -
          Existing implementations
          +
          Existing implementations

          - +

          google-maps-embed
          google-maps-api
          -
          full support: +
          full support:
          openstreetmap-embed
          -
          supported, with limitations: only allows you to show a single marker on embedded maps -
          bing-maps-embed
          -
          no support: allows for display of a general area but no map markers
          +
          supported, with limitations: only allows you to show a single marker on embedded maps +
          bing-maps-embed
          +
          no support: allows for display of a general area but no map markers
          -
          Supported use cases
          +
          Supported use cases
            -
            Uses beyond mapping
            +
            Uses beyond mapping

            - +

            -
            Related web specifications
            +

            - +

            -
            Conclusion
            - +
            Conclusion
            +

            - - - -Based on the limited data, we are undecided about whether this should be a requirement. + + + +Based on the limited data, we are undecided about whether this should be a requirement.

              - +
            • - +
            -

            Draw polygons or polylines as stylable, interactive vector graphics (separate from the image tiles)

            +

            4.3.5 Draw polygons or polylines as stylable, interactive vector graphics (separate from the image tiles)

            Polylines are used in maps to draw roads, rivers, directions between places, or the observed path of a moving object. @@ -1702,126 +2094,108 @@

            Draw polygons or polylines as stylable, interactive vector graphics (separat associated with labels or descriptions, and the target of user events.

            -

            Discuss this section on GitHub.

            +

            Discuss this section on GitHub.

            -

            Existing implementations
            +
            Existing implementations

            - +

            google-maps-api
            -
            full support: - +
            full support: +
            google-maps-embed
            openstreetmap-embed
            bing-maps-embed
            -
            no support:
            +
            no support:
            -
            Supported use cases
            +
            Supported use cases
              -
              Uses beyond mapping
              +
              Uses beyond mapping

              - +

              -
              Related web specifications
              +

              - +

              -
              Conclusion
              - +
              Conclusion
              +

              - - - -Based on the limited data, we are undecided about whether this should be a requirement. + + + +Based on the limited data, we are undecided about whether this should be a requirement.

                - +
              • - +
              -

              Display a basic map without JavaScript

              +

              4.3.7 Display a basic map without JavaScript

              Users may disable JavaScript for security reasons, or as part of a strategy to reduce data consumption. @@ -1835,9 +2209,9 @@

              Display a basic map without JavaScript

              A natively-supported, declarative web map viewer would by definition have this capability.

              -

              Discuss this section on GitHub.

              +

              Discuss this section on GitHub.

              -
              Existing implementations
              +
              Existing implementations

              Our reference implementations are primarily JavaScript tools. Many do not — by default — provide any features when JS is disabled or fails, @@ -1852,52 +2226,46 @@

              Existing implementations
              google-maps-api
              bing-maps-embed
              -
              supported, with limitations: +
              supported, with limitations: these tools offer options to serve a static image without JavaScript. However, this is not the default fallback behavior for the embeds when JavaScript is turned off, adding a fallback image must be implemented as a custom feature.
              google-maps-embed
              openstreetmap-embed
              -
              no support:
              +
              no support:
              -
              Supported use cases
              +
              Supported use cases
                -
                Uses beyond mapping
                +
                Uses beyond mapping

                To the extent that any capabilites of a map viewer are shared with other content, having that capability work without JavaScript is a shared benefit.

                -
                Related web specifications
                +

                - +

                -
                Conclusion
                - +
                Conclusion
                +

                - - - -Based on the limited data, we are undecided about whether this should be a requirement. + + + +Based on the limited data, we are undecided about whether this should be a requirement.

                  - +
                • - +
                -

                Zoom the map independently from the rest of the page

                +

                4.3.8 Zoom the map independently from the rest of the page

                In addition to panning the view, it is standard to allow the user to adjust the map scale: @@ -1905,7 +2273,7 @@

                Zoom the map independently from the rest of the page

                zooming out to decrease magnification (show a wider area).

                -
                Existing implementations
                +
                Existing implementations

                The following UI is standard across the reviewed map widgets:

                  @@ -1919,24 +2287,19 @@
                  Existing implementations
                - +
                google-maps-embed
                google-maps-api
                openstreetmap-embed
                -
                full support: +
                full support: (as described above)
                -
                Supported use cases
                +
                Supported use cases
                  -
                  Uses beyond mapping
                  +
                  Uses beyond mapping

                  Localized zooming is used on the web for charts and diagrams, @@ -1945,49 +2308,44 @@

                  Uses beyond mapping
                  and sometimes data tables.

                  -
                  Related web specifications
                  +

                  -Zooms are often implemented using transforms, +Zooms are often implemented using transforms, which defines the scale as a multiplicative factor compared to the normal size (scale(2) for doubling the size, zooming in; scale(0.5) to zoom out by the same amount). Scale transforms are paired with translations to create zoom and pan effects. -[[css-transforms-1]] +[css-transforms-1]

                  An alternative approach for describing zoom and pan -is used in SVG viewBox attribute -and in spatial media fragments. +is used in SVG viewBox attribute +and in spatial media fragments. In this system, the container element defines its own width and height (e.g., with CSS) plus a target rectangle in the zoomable graphic's coordinate system (x and y offset, plus width and height); the user agent then zooms and pans the graphic to display the target rectangle in the available space. -[[SVG2]][[media-frags]] +[SVG2][media-frags]

                  -
                  Conclusion
                  - +
                  Conclusion
                  +

                  -This functionality is a requirement for modern web maps, +This functionality is a requirement for modern web maps, with other uses in the web platform. A zoom specification will need to carefully consider all uses so it can be implemented consistently, and should be coordinated with panning.

                    - +
                  • - To Do + To Do
                  -

                  Pan the map display

                  +

                  4.3.9 Pan the map display

                  A key part of the interactivity of a web map widget is that the user can change the region displayed. To pan the map is to shifting the view horizontally or vertically, @@ -1999,7 +2357,7 @@

                  Pan the map display

                  so that the costs, benefits, and non-mapping use cases can be assessed separately.

                  -
                  Existing implementations
                  +
                  Existing implementations

                  The following UI is standard among the reviewed map viewers:

                  • Drag the map view by clicking and holding a mouse.
                  • @@ -2014,20 +2372,20 @@
                    Existing implementations

                    openstreetmap-embed
                    -
                    supported, with limitations: +
                    supported, with limitations: Mouse, touch (?), and keyboard panning; no keyboard focus indication
                    google-maps-embed
                    google-maps-api
                    -
                    partial support: +
                    partial support: Mouse and touch panning only. Keyboard panning is possible on the google maps web application. Keyboard panning is activated when a specific region of the map is focused.
                    -
                    Supported use cases
                    +
                    Supported use cases
                      -
                      Uses beyond mapping
                      +
                      Uses beyond mapping

                      The standard panning interactions are also common on the web for other JS-enhanced zoom and pan graphics @@ -2038,7 +2396,7 @@

                      Uses beyond mapping
                      could help ensure consistent, accessible user experiences for panning.

                      -
                      Related web specifications
                      +

                      From a rendering perspective, panning a map is very similar to scrolling a section of a CSS layout. @@ -2070,65 +2428,65 @@

                      Related web specifications
                      for that reason, panning is often implemented using CSS transforms or SVG viewBox, which can also handle zoom. -[[css-transforms-1]][[SVG2]] +[css-transforms-1][SVG2]

                      -
                      Conclusion
                      +
                      Conclusion

                      Panning the map is universally supported in JS web maps, -and is therefore a requirement for native web maps. +and is therefore a requirement for native web maps. The relevant specification should be coordinated with CSS, considering other use cases for panning on the web. Thought is needed on how to make panning accessible to all users.

                    -

                    Load additional map tiles when they pan into view

                    +

                    4.3.10 Load additional map tiles when they pan into view

                    -
                    Existing implementations
                    +
                    Existing implementations
                    google-maps-embed
                    google-maps-api
                    openstreetmap-embed
                    bing-maps-embed
                    -
                    full support: +
                    full support:
                    -

                    Wrap/duplicate data tiles when panning around the globe

                    +

                    4.3.11 Wrap/duplicate data tiles when panning around the globe

                    -
                    Existing implementations
                    +
                    Existing implementations
                    google-maps-embed
                    google-maps-api
                    openstreetmap-embed
                    bing-maps-embed
                    -
                    full support: +
                    full support:
                    -

                    Maintain reasonable scale of labels and lines when zooming

                    +

                    4.3.12 Maintain reasonable scale of labels and lines when zooming

                    Zooming a map widget is different from magnifying a regular image, or adjusting the overall browser zoom level; @@ -2137,38 +2495,38 @@

                    Maintain reasonable scale of labels and lines when zooming

                    -

                    Dynamically load different resolution map tile on zoom

                    +

                    4.3.13 Dynamically load different resolution map tile on zoom

                    -
                    Existing implementations
                    +
                    Existing implementations
                    google-maps-embed
                    google-maps-api
                    openstreetmap-embed
                    bing-maps-embed
                    -
                    full support: +
                    full support:
                    -

                    Hide or show (and maybe dynamically load) vector features and labels on zoom

                    +

                    4.3.14 Hide or show (and maybe dynamically load) vector features and labels on zoom

                    -
                    Existing implementations
                    +
                    Existing implementations
                    google-maps-embed
                    google-maps-api
                    bing-maps-embed
                    -
                    full support: +
                    full support:
                    -

                    Display map data attribution and links

                    +

                    Map data is subject to copyright, and use of the maps on the web usually requires at least attribution, @@ -2183,97 +2541,85 @@

                    Display map data attribution and links

                    For map frameworks that allow the developer to specify the map data source, these "attribution control" values can be set in configuration.

                    -
                    Existing implementations
                    +
                    Existing implementations
                    google-maps-embed
                    openstreetmap-embed
                    bing-maps-embed
                    -
                    full support: automatically generated and attributed to their respective providers +
                    full support: automatically generated and attributed to their respective providers
                    -

                    Apply custom styling to map markers and vector features

                    +

                    4.3.16 Apply custom styling to map markers and vector features

                    - +

                    -

                    Discuss this section on GitHub.

                    +

                    Discuss this section on GitHub.

                    -
                    Existing implementations
                    +
                    Existing implementations

                    - +

                    google-maps-api
                    - full support: + full support:
                    google-maps-embed
                    openstreetmaps-embed
                    bing-maps-embed
                    -
                    no support: - +
                    no support: +
                    -
                    Supported use cases
                    +
                    Supported use cases
                      -
                      Uses beyond mapping
                      +
                      Uses beyond mapping

                      - +

                      -
                      Related web specifications
                      +

                      - +

                      -
                      Conclusion
                      - +
                      Conclusion
                      +

                      - - - -Based on the limited data, we are undecided about whether this should be a requirement. + + + +Based on the limited data, we are undecided about whether this should be a requirement.

                        - +
                      • - +
                      -

                      Apply custom styling to map controls

                      +

                      4.3.17 Apply custom styling to map controls

                      - +

                      This capability — custom styling — is separate from the ability of the author to create complete custom controls which then control the map viewer using a client-side API.

                      -

                      Discuss this section on GitHub.

                      +

                      Discuss this section on GitHub.

                      -
                      Existing implementations
                      +
                      Existing implementations

                      - +

                      @@ -2281,49 +2627,43 @@
                      Existing implementations
                      openstreetmaps-embed
                      bing-maps-embed
                      - no support: - + no support: +
                      -
                      Supported use cases
                      +
                      Supported use cases
                        -
                        Uses beyond mapping
                        +
                        Uses beyond mapping

                        - +

                        -
                        Related web specifications
                        +

                        - +

                        -
                        Conclusion
                        - +
                        Conclusion
                        +

                        - - - -Based on the limited data, we are undecided about whether this should be a requirement. + + + +Based on the limited data, we are undecided about whether this should be a requirement.

                          - +
                        • - +
                        -

                        Toggle whether default controls are displayed

                        +

                        4.3.18 Toggle whether default controls are displayed

                        Custom styling isn't always enough; sometimes an author wants to completely replace the default control buttons. @@ -2332,66 +2672,57 @@

                        Toggle whether default controls are displayed

                        This capability focuses solely on the ability to declaratively control whether or not the web browser includes on-screen controls by default.

                        -

                        Discuss this section on GitHub.

                        +

                        Discuss this section on GitHub.

                        -
                        Existing implementations
                        +
                        Existing implementations

                        - +

                        google-maps-api
                        - full support: + full support:
                        google-maps-embed
                        openstreetmaps-embed
                        bing-maps-embed
                        -
                        no support: - +
                        no support: +
                        -
                        Supported use cases
                        +
                        Supported use cases
                          -
                          Uses beyond mapping
                          +
                          Uses beyond mapping

                          - +

                          -
                          Related web specifications
                          +

                          - +

                          -
                          Conclusion
                          - +
                          Conclusion
                          +

                          - - - -Based on the limited data, we are undecided about whether this should be a requirement. + + + +Based on the limited data, we are undecided about whether this should be a requirement.

                            - +
                          • - +
                          -

                          Select map view from latitude and longitude point

                          +

                          4.3.19 Select map view from latitude and longitude point

                          Latitude and longitude defines a point on the Earth's surface, without requiring any further information. @@ -2402,7 +2733,7 @@

                          Select map view from latitude and longitude point

                          from geolocation on the user's device.

                          -
                          Existing implementations
                          +
                          Existing implementations

                          All the reference tools allow the website author to display a specific location, defined by latitude and longitude, @@ -2414,55 +2745,54 @@

                          Existing implementations
                          openstreetmap-embed
                          leaflet-api
                          -
                          full support: +
                          full support: setting a location by latitude and longitude is straightforward.
                          open-layers-api
                          -
                          supported, with limitations: +
                          supported, with limitations: A location defined with longitude and latitude must be converted to the map tile coordinate system, but the API provides the conversion function.
                          bing-maps-embed
                          -
                          partial support: does not support markers for a single location, but it is possible to display a map centered around a particular latitude and longitude point with no marker
                          +
                          partial support: does not support markers for a single location, but it is possible to display a map centered around a particular latitude and longitude point with no marker
                          -
                          Supported use cases
                          +
                          Supported use cases
                            -
                            Uses beyond mapping
                            +
                            Uses beyond mapping

                            -
                            Related web specifications
                            +

                            -The Geolocation API -and Geolocation Sensor API +The Geolocation API +and Geolocation Sensor API expose the user's location using latitude and longitude data. It should be possible to set the view on a web map using data returned from these APIs. -Both of these APIs use the [[[WGS84]]] as the technical definition +Both of these APIs use the World Geodetic System 1984 as the technical definition of longitude and latitude (consistent with most modern geospatial standards), and a web map standard should use the same definition. -[[geolocation-API]][[geolocation-sensor]][[WGS84]] +[geolocation-API][geolocation-sensor][WGS84]

                            -
                            Conclusion
                            +
                            Conclusion

                            -This functionality is a requirement for modern web maps. +This functionality is a requirement for modern web maps.

                              - +
                            • - +
                            -

                            Select map view from street address or place name

                            +

                            4.3.20 Select map view from street address or place name

                            For many mapping use cases, a website author won't have exact latitude and longitude values pre-calculated. @@ -2471,22 +2801,22 @@

                            Select map view from street address or place name

                            To convert these addresses or names into a point on a web map, the web mapping service needs access to a Gazeteer search and corresponding databases.

                            -
                            Existing implementations
                            +
                            Existing implementations

                            google-maps-embed
                            google-maps-api
                            openstreetmap-embed
                            -
                            full support: +
                            full support:
                            bing-maps-embed
                            -
                            partial support: does not support markers for a single location, but it is possible to display a map centered around a particular street address with no marker
                            +
                            partial support: does not support markers for a single location, but it is possible to display a map centered around a particular street address with no marker
                            -

                            Reproject map tile data into a new projection or globe view

                            +

                            4.3.21 Reproject map tile data into a new projection or globe view

                            Map image tiles are usually defined in Web Mercator or other grid-based tile systems. @@ -2498,79 +2828,70 @@

                            Reproject map tile data into a new projection or globe view

                            without trying to display it all at once, letting user interaction rotate it to show parts of interest.

                            -

                            Discuss this section on GitHub.

                            +

                            Discuss this section on GitHub.

                            -
                            Existing implementations
                            +
                            Existing implementations

                            - +

                            google-maps-embed
                            openstreetmap-embed
                            bing-maps-embed
                            -
                            no support: +
                            no support:
                            -
                            Supported use cases
                            +
                            Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              - - - -Based on the limited data, we are undecided about whether this should be a requirement. + + + +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Save the location or export to other application

                              +

                              4.3.22 Save the location or export to other application

                              For the user, it is often useful to bookmark or save a location from a map, separate from the website which included it. The user may want to export the location to a GPS or native mapping application so they can calculate directions to it.

                              -
                              Existing implementations
                              +
                              Existing implementations

                              openstreetmap-embed
                              -
                              full support: +
                              full support:
                              google-maps-embed
                              -
                              supported, with limitations: +
                              supported, with limitations: You are able to generate a link to the map that can be shared via a variety of methods, but there is no way way to easily this information to another application.
                              bing-maps-embed
                              -
                              no support:
                              +
                              no support:
                              @@ -2578,7 +2899,7 @@
                              Existing implementations
                              -

                              Client-side Mapping APIs

                              +

                              5. Client-side Mapping APIs

                              Client-side Mapping APIs (application programming interfaces) allow website developers to create customized map viewers, @@ -2589,9 +2910,9 @@

                              Client-side Mapping APIs

                              A built-in web map solution would need to expose similar DOM APIs to JavaScript code.

                              -

                              Authoring use cases

                              +

                              5.1 Authoring use cases

                              -

                              Create, initialise, and display a map

                              +

                              5.1.1 Create, initialise, and display a map

                              An embedded map cannot usually be enhanced beyond the options available via URL configuration, and it may not be possible to extract additional information from the map or to subscribe to map events. @@ -2604,14 +2925,14 @@

                              Create, initialise, and display a map

                              as implemented by the reference JavaScript tools.

                              -

                              Discuss this section on GitHub.

                              -
                              Required capabilities
                              +
                              Issue 77: Use Case: Create, initialise, and display a map discussion: use casesection: client-side APIstatus: placeholder

                              Discuss this section on GitHub.

                              +
                              Required capabilities
                              -

                              Display multiple point locations on a single map

                              +

                              5.1.2 Display multiple point locations on a single map

                              A web developer needs the ability to display a map with markers or other affordances denoting multiple specified locations.

                              @@ -2625,14 +2946,14 @@

                              Display multiple point locations on a single map

                              as implemented by the reference JavaScript tools.

                              -

                              Discuss this section on GitHub.

                              -
                              Required capabilities
                              +
                              Issue 78: Use Case: Display multiple point locations on a single map discussion: use casesection: client-side APIstatus: placeholder

                              Discuss this section on GitHub.

                              +
                              Required capabilities
                              -

                              Add a custom control to a map

                              +

                              5.1.3 Add a custom control to a map

                              Description to follow.

                              @@ -2640,14 +2961,14 @@

                              Add a custom control to a map

                              See examples of adding a custom control to a map as implemented by the reference JavaScript tools.

                              -

                              Discuss this section on GitHub.

                              -
                              Required capabilities
                              +

                              Discuss this section on GitHub.

                              +
                              Required capabilities
                              -

                              Provide feedback to a user as they manipulate the map

                              +

                              5.1.4 Provide feedback to a user as they manipulate the map

                              Brief examples to be expanded: highlighting items in a list that are within the current bounds of the map; displaying the position of the map centre; @@ -2659,8 +2980,8 @@

                              Provide feedback to a user as they manipulate the map

                              as implemented by the reference JavaScript tools.

                              -

                              Discuss this section on GitHub.

                              -
                              Required capabilities
                              +

                              Discuss this section on GitHub.

                              +
                              Required capabilities
                              -

                              Allow the user to select a different style for a map

                              +

                              5.1.5 Allow the user to select a different style for a map

                              Description to follow.

                              @@ -2679,15 +3000,15 @@

                              Allow the user to select a different style for a map

                              as implemented by the reference JavaScript tools.

                              -

                              Discuss this section on GitHub.

                              -
                              Required capabilities
                              +

                              Discuss this section on GitHub.

                              +
                              Required capabilities
                              -

                              Allow the user to control the layer displayed by a map

                              +

                              5.1.6 Allow the user to control the layer displayed by a map

                              Example to be expanded later: NLS old Ordnance Survey maps.

                              @@ -2698,8 +3019,8 @@

                              Allow the user to control the layer displayed by a map

                              as implemented by the reference JavaScript tools.

                              -

                              Discuss this section on GitHub.

                              -
                              Required capabilities
                              +

                              Discuss this section on GitHub.

                              +
                              Required capabilities
                              -

                              Allow a user to reset the map to their starting point

                              +

                              5.1.7 Allow a user to reset the map to their starting point

                              Description to follow.

                              @@ -2719,15 +3040,15 @@

                              Allow a user to reset the map to their starting point

                              as implemented by the reference JavaScript tools.

                              -

                              Discuss this section on GitHub.

                              -
                              Required capabilities
                              +
                              Issue 83: Use Case: Allow a user to reset the map to their starting point discussion: use casesection: client-side APIstatus: placeholder

                              Discuss this section on GitHub.

                              +
                              Required capabilities
                              -

                              Change the bearing of a map

                              +

                              5.1.8 Change the bearing of a map

                              A developer may want the capability of changing the bearing of a map - that is, displaying the map with a direction other than North at the "top". @@ -2741,15 +3062,15 @@

                              Change the bearing of a map

                              examples of changing the bearing of a map as implemented by the reference JavaScript tools.

                              -

                              Discuss this section on GitHub.

                              -
                              Required capabilities
                              +

                              Discuss this section on GitHub.

                              +
                              Required capabilities
                              -

                              Specify a data source for a map

                              +

                              5.1.9 Specify a data source for a map

                              Examples to be expanded: showing a map of Mars or the Moon.

                              @@ -2757,25 +3078,25 @@

                              Specify a data source for a map

                              See examples of specifying a data source for a map as implemented by the reference JavaScript tools.

                              -

                              Discuss this section on GitHub.

                              -
                              Required capabilities
                              +

                              Discuss this section on GitHub.

                              +
                              Required capabilities
                              -

                              +

                              5.1.10

                              - +

                              -See examples of +See examples of as implemented by the reference JavaScript tools.

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              -
                              Required capabilities
                              +
                              Required capabilities
                              @@ -2783,14 +3104,14 @@
                              Required capabilities
                              -

                              Client-side API Capabilities

                              +

                              5.2 Client-side API Capabilities

                              -

                              Create, initialise, and display a map

                              +

                              5.2.1 Create, initialise, and display a map

                              This is the starting point for all usage of client APIs. Without this, there is nothing.

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              By definition, all mapping APIs support this capability. However, the level of complexity involved varies. @@ -2808,12 +3129,7 @@

                              Existing implementations
                              complex APIs for advanced use cases.

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              @@ -2821,128 +3137,100 @@
                              Existing implementations
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              full support: - +
                              full support: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - + The generic functionality of allowing a user to pan and zoom is relevant to any application involving large imagery with fine detail. Extant examples include Google's detailed scans of classic paintings, and viewers for extremely high resolution panoramic photographs.

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -This functionality is a requirement for modern web maps. +This functionality is a requirement for modern web maps.

                                - +
                              • - +
                              -

                              Add a marker or multiple markers to a map

                              +

                              5.2.2 Add a marker or multiple markers to a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              mapbox-gl-api
                              leaflet-api
                              -
                              full support: - +
                              full support: +
                              open-layers-api
                              -
                              supported, with limitations: - +
                              supported, with limitations: +
                              d3-geographies-api
                              -
                              full support: - +
                              full support: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -This functionality is a requirement for modern web maps. +This functionality is a requirement for modern web maps.

                                - +
                              • - +
                              -

                              Implement a custom control

                              +

                              5.2.3 Implement a custom control

                              The API should support the implementation of custom controls capable of being added to a map.

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              @@ -2950,60 +3238,46 @@
                              Existing implementations
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              full support: - +
                              full support: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Add a control to a map

                              +

                              5.2.4 Add a control to a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              @@ -3011,60 +3285,46 @@
                              Existing implementations
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              full support: - +
                              full support: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Remove a control from a map

                              +

                              5.2.5 Remove a control from a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              @@ -3072,60 +3332,46 @@
                              Existing implementations
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              full support: - +
                              full support: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Get the bounds of a map

                              +

                              5.2.6 Get the bounds of a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              @@ -3133,314 +3379,244 @@
                              Existing implementations
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              full support: - +
                              full support: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Add a layer to a map

                              +

                              5.2.7 Add a layer to a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              -
                              supported, with limitations: - +
                              supported, with limitations: +
                              apple-mapkit-js-api
                              -
                              not applicable: - +
                              not applicable: +
                              mapbox-gl-api
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              full support: - +
                              full support: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Remove a layer from a map

                              +

                              5.2.8 Remove a layer from a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              -
                              supported, with limitations: - +
                              supported, with limitations: +
                              apple-mapkit-js-api
                              mapbox-gl-api
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              full support: - +
                              full support: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Display a layer on a map

                              +

                              5.2.9 Display a layer on a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              -
                              supported, with limitations: - +
                              supported, with limitations: +
                              mapbox-gl-api
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              full support: - +
                              full support: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Hide a layer on a map

                              +

                              5.2.10 Hide a layer on a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              -
                              supported, with limitations: - +
                              supported, with limitations: +
                              mapbox-gl-api
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              full support: - +
                              full support: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Specify the style of a map

                              +

                              5.2.11 Specify the style of a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              @@ -3448,60 +3624,46 @@
                              Existing implementations
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              not applicable: - +
                              not applicable: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Determine the current style of a map

                              +

                              5.2.12 Determine the current style of a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              @@ -3509,60 +3671,46 @@
                              Existing implementations
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              not applicable: - +
                              not applicable: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Pan a map or re-centre a map

                              +

                              5.2.13 Pan a map or re-centre a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              @@ -3570,60 +3718,46 @@
                              Existing implementations
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              not applicable: - +
                              not applicable: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Zoom a map in or out

                              +

                              5.2.14 Zoom a map in or out

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              @@ -3631,60 +3765,46 @@
                              Existing implementations
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              not applicable: - +
                              not applicable: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Subscribe to map move events

                              +

                              5.2.15 Subscribe to map move events

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              @@ -3692,60 +3812,46 @@
                              Existing implementations
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              not applicable: - +
                              not applicable: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Subscribe to map zoom events

                              +

                              5.2.16 Subscribe to map zoom events

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              @@ -3753,60 +3859,46 @@
                              Existing implementations
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              not applicable: - +
                              not applicable: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Subscribe to marker selection events

                              +

                              5.2.17 Subscribe to marker selection events

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +
                              Issue 71: Capability: Subscribe to marker selection events discussion: capabilitysection: client-side APIstatus: placeholder

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              @@ -3814,60 +3906,46 @@
                              Existing implementations
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              not applicable: - +
                              not applicable: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Change the bearing of a map

                              +

                              5.2.18 Change the bearing of a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              @@ -3875,60 +3953,46 @@
                              Existing implementations
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              not applicable: - +
                              not applicable: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Reset the bearing of a map

                              +

                              5.2.19 Reset the bearing of a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              @@ -3936,60 +4000,46 @@
                              Existing implementations
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              not applicable: - +
                              not applicable: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              -

                              Define a data source for a map

                              +

                              5.2.20 Define a data source for a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations

                              - +

                              - +
                              google-maps-api
                              bing-maps-api
                              apple-mapkit-js-api
                              @@ -3997,37 +4047,31 @@
                              Existing implementations
                              leaflet-api
                              open-layers-api
                              d3-geographies-api
                              -
                              not applicable: - +
                              not applicable: +
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +

                              -
                              Related web specifications
                              +

                              - +

                              -
                              Conclusion
                              - +
                              Conclusion
                              +

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.

                                - +
                              • - +
                              @@ -4036,7 +4080,7 @@
                              Conclusion
                              -

                              Map Data Formats for Map Viewers

                              +

                              6. Map Data Formats for Map Viewers

                              Many different types of spatial data can be integrated in a web map: satellite imagery, @@ -4054,10 +4098,10 @@

                              Map Data Formats for Map Viewers

                              -

                              Use cases

                              +

                              6.1 Use cases

                              -

                              +

                              6.1.1

                              To Do

                              @@ -4065,207 +4109,45 @@

                              -

                              Map Format Capabilities

                              +

                              6.2 Map Format Capabilities

                              -

                              Summary of Requirements

                              +

                              7. Summary of Requirements

                              To Do: finish the script to generate a summary table from the annotated markup.

                              -

                              Open Issues

                              +

                              A. Open Issues

                              We are tracking issues on Github.

                              -
                              +
                              -
                              -

                              Acknowledgments

                              +
                              +

                              B. Acknowledgments

                              - - - - - - - +
                              +

                              C. References

                              + +
                              +

                              C.1 Informative references

                              +
                              +
                              [API-DESIGN-PRINCIPLES]
                              API Design Principles. Domenic Denicola. 29 December 2015. URL: https://w3ctag.github.io/design-principles/
                              [ATAG20]
                              Authoring Tool Accessibility Guidelines (ATAG) 2.0. Jan Richards; Jeanne F Spellman; Jutta Treviranus. W3C. 24 September 2015. W3C Recommendation. URL: https://www.w3.org/TR/ATAG20/
                              [css-transforms-1]
                              CSS Transforms Module Level 1. Simon Fraser; Dean Jackson; Theresa O'Connor; Dirk Schulze. W3C. 14 February 2019. W3C Candidate Recommendation. URL: https://www.w3.org/TR/css-transforms-1/
                              [EXTENSIBLE]
                              The Extensible Web Manifesto. 10 June 2013. URL: https://extensiblewebmanifesto.org/
                              [geolocation-API]
                              Geolocation API Specification 2nd Edition. Andrei Popescu. W3C. 8 November 2016. W3C Recommendation. URL: https://www.w3.org/TR/geolocation-API/
                              [GEOLOCATION-PRIVACY]
                              Privacy of Geolocation Implementations. Marcos Cáceres. 12 July 2010. URL: https://www.w3.org/2010/api-privacy-ws/papers/privacy-ws-21.pdf
                              [geolocation-sensor]
                              Geolocation Sensor. Anssi Kostiainen; Thomas Steiner. W3C. 19 December 2018. W3C Working Draft. URL: https://www.w3.org/TR/geolocation-sensor/
                              [html-design-principles]
                              HTML Design Principles. Anne van Kesteren; Maciej Stachowiak. W3C. 26 November 2007. W3C Working Draft. URL: https://www.w3.org/TR/html-design-principles/
                              [HTML-map-element]
                              The HTML map Element proposal. Maps for HTML Community Group. URL: https://maps4html.github.io/HTML-Map-Element/spec/
                              [international-specs]
                              Internationalization Best Practices for Spec Developers. Richard Ishida. W3C. 7 October 2016. W3C Working Draft. URL: https://www.w3.org/TR/international-specs/
                              [MapML]
                              Map Markup Language. Maps for HTML Community Group. URL: https://maps4html.github.io/MapML/spec/
                              [media-frags]
                              Media Fragments URI 1.0 (basic). Raphaël Troncy; Erik Mannens; Silvia Pfeiffer; Davy Van Deursen. W3C. 25 September 2012. W3C Recommendation. URL: https://www.w3.org/TR/media-frags/
                              [security-privacy-questionnaire]
                              Self-Review Questionnaire: Security and Privacy. Lukasz Olejnik; Jason Novak. W3C. 23 May 2019. W3C Note. URL: https://www.w3.org/TR/security-privacy-questionnaire/
                              [SVG2]
                              Scalable Vector Graphics (SVG) 2. Amelia Bellamy-Royds; Bogdan Brinza; Chris Lilley; Dirk Schulze; David Storey; Eric Willigers. W3C. 4 October 2018. W3C Candidate Recommendation. URL: https://www.w3.org/TR/SVG2/
                              [UAAG20]
                              User Agent Accessibility Guidelines (UAAG) 2.0. James Allan; Greg Lowney; Kimberly Patch; Jeanne F Spellman. W3C. 15 December 2015. W3C Note. URL: https://www.w3.org/TR/UAAG20/
                              [WCAG21]
                              Web Content Accessibility Guidelines (WCAG) 2.1. Andrew Kirkpatrick; Joshue O Connor; Alastair Campbell; Michael Cooper. W3C. 5 June 2018. W3C Recommendation. URL: https://www.w3.org/TR/WCAG21/
                              [webcomponents-design-guidelines]
                              Guidelines for creating web platform compatible components. W3C TAG. URL: https://www.w3.org/2001/tag/doc/webcomponents-design-guidelines/
                              [WGS84]
                              World Geodetic System 1984. US National Imagery and Mapping Agency. URL: http://earth-info.nga.mil/GandG/publications/tr8350.2/wgs84fin.pdf
                              +
                              \ No newline at end of file From 5f452576bd5403c374cc06d1fba07303a4293925 Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Tue, 25 Jun 2019 00:52:52 +0000 Subject: [PATCH 02/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- examples/map-viewers/globe.html | 7 + examples/map-viewers/single-location.html | 8 + index.html | 181 +++++++++++++--------- 3 files changed, 121 insertions(+), 75 deletions(-) diff --git a/examples/map-viewers/globe.html b/examples/map-viewers/globe.html index f8d56d3..eb2470a 100644 --- a/examples/map-viewers/globe.html +++ b/examples/map-viewers/globe.html @@ -33,5 +33,12 @@

                              Bing Maps

                              +

                              MapBox

                              +
                              + +
                              + diff --git a/examples/map-viewers/single-location.html b/examples/map-viewers/single-location.html index 188807f..7c97b8d 100644 --- a/examples/map-viewers/single-location.html +++ b/examples/map-viewers/single-location.html @@ -46,5 +46,13 @@

                              Bing Maps

                              +

                              MapBox

                              +
                              + +
                              + + diff --git a/index.html b/index.html index ef52921..a231cb4 100644 --- a/index.html +++ b/index.html @@ -543,8 +543,8 @@ ] } ], - "publishISODate": "2019-06-24T00:00:00.000Z", - "generatedSubtitle": "Draft Community Group Report 24 June 2019" + "publishISODate": "2019-06-25T00:00:00.000Z", + "generatedSubtitle": "Draft Community Group Report 25 June 2019" }Use Cases and Requirements for Standardizing

                              Draft Community Group Report - +

                              @@ -1380,7 +1380,7 @@

                              3. Reviewed JavaS In addition, multiple open source JavaScript libraries have developed to make it easier for website authors to build on other map data services.

                              -

                              Need data to back up the reference implementations.

                              +

                              Need data to back up the reference implementations.

                              The reviewed implementations come in three forms:

                              @@ -1396,7 +1396,7 @@

                              3. Reviewed JavaS
                            • HTML custom elements, with configuration through attributes and child elements. -

                              Need to decide on web component examples to use as reference.

                              +
                              Issue 23: Tool: Best examples based on custom elements? bug: need infosection: reference tools

                              Need to decide on web component examples to use as reference.

                            • @@ -1484,7 +1484,7 @@

                              3.2 OpenStreetMap em and these are used in other map viewer widgets and APIs. The raw data is also re-processed and used by other map data services.

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              @@ -1524,12 +1524,12 @@

                              3.5 Mapbox GL JS APIMaps API returns complete HTML slippy maps based on URL configuration, -and so can be used as an iframe source. +and so can be used as an iframe source. These maps can be configured through Mapbox Studio, a graphical interface for building and styling maps. Each custom map is then assigned an ID, which can be passed into to the slippy map URL in order to fetch the map.

                              An API key is required, with cost based on usage.

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              @@ -1544,7 +1544,7 @@

                              3.6 Leaflet.js API -

                              Discuss this section on GitHub.

                              +

                              @@ -1555,7 +1555,7 @@

                              3.7 OpenLayers API -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              @@ -1568,7 +1568,7 @@

                              3.8 D3 Geographies AP D3 does not include code for a ready-made map viewer widget, but it is used for custom client-side mapping applications.

                              -

                              Discuss this section on GitHub.

                              +

                              @@ -1632,7 +1632,7 @@

                              examples of single-location map viewers as implemented by the reference JavaScript tools.

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Required capabilities

                              @@ -1687,7 +1687,7 @@

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              @@ -1706,7 +1706,7 @@

                              Discuss this section on GitHub.

                              +
                              Issue 38: Use Case: Map coverages or custom image tiles discussion: use casesection: map viewerstatus: editor's draft

                              Discuss this section on GitHub.

                              Required capabilities

                              @@ -1795,7 +1795,7 @@

                              -

                              Discuss this section on GitHub.

                              +
                              Issue 21: Use Case: Identify feature under the pointing device or other input method discussion: use casesection: map viewerstatus: editor's draft

                              Discuss this section on GitHub.

                              @@ -1811,7 +1811,7 @@

                              4.2.4 Bookmark a lo

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              @@ -1819,7 +1819,7 @@

                              Discuss this section on GitHub.

                              +
                              Issue 42: Use case: search within a set of map features discussion: use casesection: map viewerstatus: placeholder

                              Discuss this section on GitHub.

                              @@ -1827,7 +1827,7 @@

                              -

                              Discuss this section on GitHub.

                              +
                              Issue 43: Use case: View a map in dark mode or high-contrast mode discussion: use casesection: map viewerstatus: placeholder

                              Discuss this section on GitHub.

                              @@ -1853,7 +1853,7 @@
                              Existing implementationsgoogle-maps-api
                              openstreetmap-embed
                              bing-maps-embed
                              -
                              +
                              mapbox-embed
                              full support: this is the basic function for these widgets: give it a location, it will draw the map.
                              @@ -1908,6 +1908,7 @@
                              Existing implementations
                              google-maps-api
                              +
                              mapbox-embed
                              full support
                              @@ -1987,8 +1988,9 @@
                              Existing implementationsgoogle-maps-embed
                              openstreetmap-embed
                              bing-maps-embed
                              +
                              mapbox-embed
                              - no support + no support: these embeds only support the Web Mercator projection.
                              @@ -2036,7 +2038,8 @@
                              Existing implementations
                              google-maps-embed
                              google-maps-api
                              -
                              full support: +
                              mapbox-embed
                              +
                              full support: allows multiple user-specified pinpoint locations to be placed
                              openstreetmap-embed
                              supported, with limitations: only allows you to show a single marker on embedded maps @@ -2102,6 +2105,7 @@
                              Existing implementations
                              google-maps-api
                              +
                              mapbox-embed
                              full support:
                              @@ -2162,6 +2166,7 @@
                              Existing implementationsgoogle-maps-embed
                              openstreetmap-embed
                              bing-maps-embed
                              +
                              mapbox-embed
                              no support:
                              @@ -2225,11 +2230,12 @@
                              Existing implementations
                              google-maps-api
                              +
                              google-maps-embed
                              bing-maps-embed
                              +
                              mapbox-embed
                              supported, with limitations: these tools offer options to serve a static image without JavaScript. However, this is not the default fallback behavior for the embeds when JavaScript is turned off, adding a fallback image must be implemented as a custom feature.
                              -
                              google-maps-embed
                              openstreetmap-embed
                              no support:
                              @@ -2293,7 +2299,8 @@
                              Existing implementationsopenstreetmap-embed
                              full support: (as described above) -
                              +
                              mapbox-embed
                              +
                              supported, with limitations: all of the above is supported, but the buttons do not have any focus styles
                              Supported use cases
                              @@ -2372,8 +2379,9 @@
                              Existing implementations
                              openstreetmap-embed
                              -
                              supported, with limitations: -Mouse, touch (?), and keyboard panning; no keyboard focus indication +
                              mapbox-embed
                              +
                              supported, with limitations: +Mouse, touch, and keyboard panning are supported; no keyboard focus indication
                              google-maps-embed
                              google-maps-api
                              @@ -2480,6 +2488,7 @@
                              Existing implementationsgoogle-maps-api
                              openstreetmap-embed
                              bing-maps-embed
                              +
                              mapbox-embed
                              full support:
                              @@ -2492,6 +2501,16 @@

                              +
                              Existing implementations
                              +
                              +
                              google-maps-embed
                              +
                              google-maps-api
                              +
                              openstreetmap-embed
                              +
                              bing-maps-embed
                              +
                              mapbox-embed
                              +
                              full support: all of these tools scale their labels to match the zoom level, but labels of smaller map features can be very small and may not reflect a users text size preference +
                              +

                              @@ -2499,7 +2518,7 @@

                              -
                              Existing implementations
                              +
                              Existing implementations
                              google-maps-embed
                              google-maps-api
                              @@ -2515,11 +2534,12 @@

                              Existing implementations

                              +
                              Existing implementations
                              google-maps-embed
                              google-maps-api
                              bing-maps-embed
                              +
                              mapbox-embed
                              full support:
                              @@ -2541,13 +2561,15 @@

                              @@ -2556,14 +2578,15 @@

                              -

                              Discuss this section on GitHub.

                              +
                              Issue 15: Capability: Allow map authors to style content using CSS discussion: capabilitysection: map viewerstatus: placeholder

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +
                              Existing implementations

                              google-maps-api
                              +
                              mapbox-embed
                              full support:
                              @@ -2617,7 +2640,7 @@

                              4.3.17

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +
                              Existing implementations

                              @@ -2626,6 +2649,7 @@
                              Existing implementationsno support: @@ -2672,9 +2696,9 @@

                              Discuss this section on GitHub.

                              +
                              Issue 16: Capability: Allow default and custom map furniture discussion: capabilitysection: map viewerstatus: placeholder

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +
                              Existing implementations

                              @@ -2683,6 +2707,10 @@
                              Existing implementationsfull support: +
                              mapbox-embed
                              +
                              + partial support: you can toggle controls for the HTML slippy map, but not maps created in the more robust Mapbox Studio editor. +
                              google-maps-embed
                              openstreetmaps-embed
                              bing-maps-embed
                              @@ -2733,7 +2761,7 @@

                              Existing implementations

                              +
                              Existing implementations

                              All the reference tools allow the website author to display a specific location, defined by latitude and longitude, @@ -2744,7 +2772,7 @@

                              Existing implementationsfull support: setting a location by latitude and longitude is straightforward. @@ -2801,13 +2829,14 @@

                              Existing implementations

                              +
                              Existing implementations

                              google-maps-embed
                              google-maps-api
                              openstreetmap-embed
                              +
                              mapbox-embed
                              full support:
                              bing-maps-embed
                              @@ -2828,9 +2857,9 @@

                              -

                              Discuss this section on GitHub.

                              +
                              Issue 3: Capability: Render maps as a globe or other non-Mercator projection discussion: capabilitysection: map viewerstatus: placeholder

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +
                              Existing implementations

                              @@ -2838,6 +2867,7 @@
                              Existing implementationsno support:

                              @@ -2880,7 +2910,7 @@

                              Existing implementations

                              +
                              Existing implementations

                              openstreetmap-embed
                              @@ -2891,6 +2921,7 @@
                              Existing implementationsno support:

                              @@ -2961,7 +2992,7 @@

                              5.1.3 Add See examples of adding a custom control to a map as implemented by the reference JavaScript tools.

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Required capabilities
                              +

                              B. Acknowledgments

                              From 3f2922fccc324b29ecd394e2753f47eb77f3d452 Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Wed, 26 Jun 2019 04:26:47 +0000 Subject: [PATCH 03/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- .travis.yml | 2 +- index.html | 39 ++++++++++++++++++++------------------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3bc19e0..443282e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ script: # run the respec2html utility # if successful, replace the source index.html with the generated one & clean up - echo "Building the ReSpec page" - - npx -p respec respec2html -s index.html -o build-index.html && echo "Build OK. Cleaning up" && rm index.html && mv build-index.html index.html + - npx -p respec respec2html -s index.html?githubtoken=$GITHUB_PAGES_AUTH -o build-index.html && echo "Build OK. Cleaning up" && rm index.html && mv build-index.html index.html # Note: We may need to add a GitHub token to the ReSpec config to avoid rate limiting deploy: # publish as a commit to the gh-pages branch diff --git a/index.html b/index.html index a231cb4..49b5f4c 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ - + + +

                              Examples for + + Use Case: Animate a map through a sequence of points + +

                              +
                              +

                              Leaflet.js with OpenStreetMap tiles

                              +
                              + + +
                              +
                              +

                              OpenLayers with OpenStreetMap tiles

                              +
                              + + +
                              +
                              +

                              MapBox GL

                              +
                              + + +
                              + + \ No newline at end of file diff --git a/examples/client-apis/use-case-change-map-new-position-andor-zoom-level.html b/examples/client-apis/use-case-change-map-new-position-andor-zoom-level.html new file mode 100644 index 0000000..ccd50dc --- /dev/null +++ b/examples/client-apis/use-case-change-map-new-position-andor-zoom-level.html @@ -0,0 +1,93 @@ + + + + + + + Use Case - Client APIs - Change a map to a new position and/or zoom level + + + + + + +

                              Examples for + + Use Case: Change a map to a new position and/or zoom level + +

                              +
                              +

                              Leaflet.js with OpenStreetMap tiles

                              +
                              + + +
                              +
                              +

                              OpenLayers with OpenStreetMap tiles

                              +
                              + + +
                              +
                              +

                              MapBox GL

                              +
                              + + +
                              + + \ No newline at end of file diff --git a/examples/client-apis/use-case-create-plugin-integrates-api.html b/examples/client-apis/use-case-create-plugin-integrates-api.html new file mode 100644 index 0000000..63b8c2e --- /dev/null +++ b/examples/client-apis/use-case-create-plugin-integrates-api.html @@ -0,0 +1,93 @@ + + + + + + + Use Case - Client APIs - Create a plugin that integrates with an API + + + + + + +

                              Examples for + + Use Case: Create a plugin that integrates with an API + +

                              +
                              +

                              Leaflet.js with OpenStreetMap tiles

                              +
                              + + +
                              +
                              +

                              OpenLayers with OpenStreetMap tiles

                              +
                              + + +
                              +
                              +

                              MapBox GL

                              +
                              + + +
                              + + \ No newline at end of file diff --git a/examples/client-apis/use-case-show-heatmap-overlaid-map.html b/examples/client-apis/use-case-show-heatmap-overlaid-map.html new file mode 100644 index 0000000..518e690 --- /dev/null +++ b/examples/client-apis/use-case-show-heatmap-overlaid-map.html @@ -0,0 +1,93 @@ + + + + + + + Use Case - Client APIs - Show a heatmap overlaid on a map + + + + + + +

                              Examples for + + Use Case: Show a heatmap overlaid on a map + +

                              +
                              +

                              Leaflet.js with OpenStreetMap tiles

                              +
                              + + +
                              +
                              +

                              OpenLayers with OpenStreetMap tiles

                              +
                              + + +
                              +
                              +

                              MapBox GL

                              +
                              + + +
                              + + \ No newline at end of file diff --git a/examples/client-apis/use-case-show-vector-data-overlay-map.html b/examples/client-apis/use-case-show-vector-data-overlay-map.html new file mode 100644 index 0000000..597c80c --- /dev/null +++ b/examples/client-apis/use-case-show-vector-data-overlay-map.html @@ -0,0 +1,93 @@ + + + + + + + Use Case - Client APIs - Show a vector data overlay on a map + + + + + + +

                              Examples for + + Use Case: Show a vector data overlay on a map + +

                              +
                              +

                              Leaflet.js with OpenStreetMap tiles

                              +
                              + + +
                              +
                              +

                              OpenLayers with OpenStreetMap tiles

                              +
                              + + +
                              +
                              +

                              MapBox GL

                              +
                              + + +
                              + + \ No newline at end of file diff --git a/examples/client-apis/use-case-specify-data-source-map-tile-layer.html b/examples/client-apis/use-case-specify-data-source-map-tile-layer.html new file mode 100644 index 0000000..6411808 --- /dev/null +++ b/examples/client-apis/use-case-specify-data-source-map-tile-layer.html @@ -0,0 +1,93 @@ + + + + + + + Use Case - Client APIs - Specify a data source for a map + + + + + + +

                              Examples for + + Use Case: Specify a data source for a map + +

                              +
                              +

                              Leaflet.js with OpenStreetMap tiles

                              +
                              + + +
                              +
                              +

                              OpenLayers with OpenStreetMap tiles

                              +
                              + + +
                              +
                              +

                              MapBox GL

                              +
                              + + +
                              + + \ No newline at end of file diff --git a/examples/client-apis/use-case-specify-data-source-map.html b/examples/client-apis/use-case-specify-data-source-map.html index 6411808..e66cc09 100644 --- a/examples/client-apis/use-case-specify-data-source-map.html +++ b/examples/client-apis/use-case-specify-data-source-map.html @@ -4,7 +4,7 @@ - Use Case - Client APIs - Specify a data source for a map + Use Case - Client APIs - Specify a data source for a map tile layer @@ -37,18 +37,18 @@

                              Examples for - - Use Case: Specify a data source for a map + + Use Case: Specify a data source for a map tile layer

                              Leaflet.js with OpenStreetMap tiles

                              -
                              +

                              MapBox GL

                              -
                              +
                              Use Cases and Requirements for Standardizing

                              Draft Community Group Report - +

                              @@ -640,7 +640,7 @@

                              If that is not possible, send an email comment to public-maps4html@w3.org.

                              -

                              +

                              1. Introduction

                              @@ -1731,7 +1731,7 @@

                              3.2 OpenStreetMap em and these are used in other map viewer widgets and APIs. The raw data is also re-processed and used by other map data services.

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              @@ -1776,7 +1776,7 @@

                              3.5 Mapbox GL JS API An API key is required, with cost based on usage.

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              @@ -1815,7 +1815,7 @@

                              3.8 D3 Geographies AP D3 does not include code for a ready-made map viewer widget, but it is used for custom client-side mapping applications.

                              - +

                              Discuss this section on GitHub.

                              @@ -1926,7 +1926,7 @@

                              4.1.4 D

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              @@ -1953,7 +1953,7 @@

                              Issue 38: Use Case: Map coverages or custom image tiles discussion: use casesection: map viewerstatus: editor's draft

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Required capabilities

                              @@ -2058,7 +2058,7 @@

                              4.2.4 Bookmark a lo

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              @@ -3111,7 +3111,7 @@

                              -
                              Issue 15: Capability: Allow map authors to style content using CSS discussion: capabilitysection: map viewerstatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              @@ -3322,7 +3322,7 @@

                              5.1.1 as implemented by the reference JavaScript tools.

                              -
                              Issue 77: Use Case: Create, initialise, and display a map discussion: use casesection: client-side APIstatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Required capabilities

                              -
                              -

                              5.1.3 Add a custom control to a map

                              -

                              -Description to follow. -

                              -

                              -See examples of adding a custom control to a map +

                              +

                              5.1.3 Add a custom control to a map

                              +

                              +A control is a user interface component that is integrated +with a map. It may provide user feedback about the current +state of the map, provide one or more affordances for +manipulating the state of the map, or some combination of +the two. +Typically, controls are integrated into the map display in +such a way that no other map content can overlie or obscure +them. +

                              +

                              +Many client APIs allow developers to implement custom +controls and add them to a map. +The advantage of using a custom control is that it becomes a +peer of the native controls provided by the map, and thus +acquires any inherent capabilities and behaviours of those +controls. +For example, if a map provided a way for the user to hide +all controls, the custom control would be hidden along with +the native controls. +This close integration cannot be achieved by a component +which is external to the map, and only made to appear as if +visually integrated through positioning, without additional +work; furthermore, the integration may not be reliable in +the long term if it must be achieved by relying on +undocumented or underspecified behaviour of the map API. +

                              +

                              +A web developer may wish to add one or more custom controls +to a map so as to provide capabilities that are not +available within the standard set of controls provided by +the mapping API, or to make up for perceived deficiencies of +the provided controls. +

                              +

                              +For example, a default zoom control may be inaccessible to +keyboard users, in which case it could be replaced with an +accessible version that utilised a public API to effect +zooming in response to the keyboard. +

                              +

                              +See examples of adding a custom control to a map as implemented by the reference JavaScript tools.

                              Discuss this section on GitHub.

                              -
                              Required capabilities
                              +
                              Required capabilities

                              5.1.4 Provide feedback to a user as they manipulate the map

                              -Brief examples to be expanded: highlighting items in a list that are within the current bounds of the map; -displaying the position of the map centre; -indicating that a selected point of interest is outside the current map view in a particular direction. +A web developer may wish to respond to changes such as +position and zoom level of a map as it is manipulated by the +user, in order to update user interface components +containing information related to the map. +

                              +

                              +For example, an application displaying a list of places of +interest in a city might update the list to highlight those +places that are within the current extent of the map as the +user pans and zooms, or filter the list to only show those +items. +On a device where the user's current location is known, the +distance to the currently-displayed centre of the map, along +with an indication of the user's bearing relative to that +point, could be shown. +If an application is showing a list of items whose +associated locations are represented on the map by markers, +selecting a marker could highlight the corresponding list +item.

                              See @@ -3397,7 +3452,7 @@

                              as implemented by the reference JavaScript tools.

                              -
                              Issue 81: Use Case: Allow the user to select a different style for a map discussion: use casesection: client-side APIstatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Required capabilities
                              • Specify the style of a map
                              • @@ -3437,7 +3492,7 @@

                                as implemented by the reference JavaScript tools.

                                -
                                Issue 83: Use Case: Allow a user to reset the map to their starting point discussion: use casesection: client-side APIstatus: placeholder

                                Discuss this section on GitHub.

                                +

                                Discuss this section on GitHub.

                                Required capabilities
                                • Pan a map or re-centre a map
                                • @@ -3449,6 +3504,8 @@

                                  5.1.8 Chang

                                  A developer may want the capability of changing the bearing of a map - that is, displaying the map with a direction other than North at the "top". +

                                  +

                                  Examples include responding to the orientation of a device, traversing a route, and allowing the user to orient themselves with respect to the map by manipulating it with respect to local landmarks. @@ -3466,19 +3523,34 @@

                                  Required capabilitiesReset the bearing of a map

                              -
                              -

                              5.1.9 Specify a data source for a map

                              +
                              +

                              5.1.9 Specify a data source for a map tile layer

                              +

                              +For a web developer, the API capability of specifying the +data source used by a tile layer on a map allows alternative +tile data sources to be used or, if a map can be configured +with multiple tile layers, displayed in some combination. +

                              +

                              +Common examples include switching between standard map +displays and satellite or aerial photograph views. +More advanced examples include overlaying historic maps on +modern maps with the ability to vary the transparency of the +top layer for purposes of comparison; and viewing maps of +non-Earth bodies such as Mars and the Moon. +

                              -Examples to be expanded: showing a map of Mars or the Moon. +The user interface for such a capability might be external +to the map, or embedded within the map as a control.

                              -See examples of specifying a data source for a map +See examples of specifying a data source for a map tile layer as implemented by the reference JavaScript tools.

                              Discuss this section on GitHub.

                              -
                              Required capabilities
                              +
                              Required capabilities
                              @@ -3502,28 +3574,21 @@
                              Required capabilities

                              5.2 Client-side API Capabilities

                              -
                              -

                              5.2.1 Create, initialise, and display a map

                              +
                              +

                              5.2.1 Create, initialise, and display a map

                              -This is the starting point for all usage of client APIs. Without this, there is nothing. +This is the starting point for all API usage.

                              Issue 55: Capability: Create, initialise, and display a map discussion: capabilitysection: client-side APIstatus: placeholder

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              -

                              -By definition, all mapping APIs support this capability. However, the level -of complexity involved varies. -

                              +
                              Existing implementations

                              -In the simplest cases, specifying a location, zoom level, and DOM node in which -to render the map is sufficient. In others, it is also required to explicitly initialise -a data source such as an OSM tile server, and a view object which implements much of -the low-level functionality concealed behind a higher-level API in the simpler cases. -

                              -

                              -Although the simpler approach allows a quick start, more advanced capabilities -may depend on the more complex approach. The optimum would seem to be a simple -API facade that abstaracts way complexity while still allowing access to the more -complex APIs for advanced use cases. +Implementations differ in how much is expected of the +developer wishing simply to initialise and display a map. +Those APIs that are tightly bound to a single source of +mapping data tend to provide a single method call with +options for configuration, whereas APIs that are data- +provider-agnostic at least require initialisation of data +sources in addition.

                              @@ -3538,22 +3603,19 @@
                              Existing implementationsSupported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - -The generic functionality of allowing a user to pan and zoom is relevant to any application -involving large imagery with fine detail. Extant examples include Google's detailed scans -of classic paintings, and viewers for extremely high resolution panoramic photographs. +ToDo

                              - +

                              -
                              Conclusion
                              +
                              Conclusion

                              This functionality is a requirement for modern web maps. @@ -3565,15 +3627,16 @@

                              Conclusion

                              5.2.2 Add a marker or multiple markers to a map

                              Description to follow

                              -
                              Issue 56: Capability: Add a marker or multiple markers to a map discussion: capabilitysection: client-side APIstatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              - +Existing implementation support:

                              @@ -3598,7 +3661,7 @@
                              Supported use cases
                              Uses beyond mapping

                              - +ToDo

                              @@ -3616,62 +3679,98 @@

                              Conclusion -

                              5.2.3 Implement a custom control

                              + +
                              +

                              5.2.3 Implement a custom control

                              -The API should support the implementation of custom controls capable of being added to a map. +A custom control is a user interface element that is +integrated closely with the map's own user interface, and is +under the control of the map once it has ben added.

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              -

                              - +

                              Existing implementations
                              +

                              +A custom control is a JavaScript object or a DOM element +that satisfies the API's requirements for it to be +integrated with the map. +Those requirements vary across APIs. +Generally, it is expected that a single DOM element +containing whatever other elements constitute the control UI +will be provided by the control. +In some cases the DOM element is passed to the API directly; +in others, a JavaScript object is passed to the API, which +is required to implement a method that returns the control's +containing DOM element. +Styling of the elements within the control is the +responsibility of the implementor. +

                              +

                              +Assuming the API requirements are satisfied, the behaviour +and rendering of the control are then the responsibility of +the implementation. +Typically, a custom control will listen to events from the +DOM, or the map, or both. +In response to those events, it will then update the state +of the map, update its own representation, or both.

                              google-maps-api
                              -
                              bing-maps-api
                              -
                              apple-mapkit-js-api
                              mapbox-gl-api
                              leaflet-api
                              open-layers-api
                              -
                              d3-geographies-api
                              full support: +These APIs all define requirements for a JavaScript object or DOM element +to be able to be used as a custom control. +
                              +
                              bing-maps-api
                              +
                              apple-mapkit-js-api
                              +
                              supported, with limitations: +Items having the form and behaviour of custom controls can +be implemented in the form of overlays, but there is no facility for +distinguishing such controls from other overlays. +
                              +
                              d3-geographies-api
                              +
                              not applicable:
                              -
                              Supported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              - +ToDo

                              - +

                              -
                              Conclusion
                              +
                              Conclusion

                              Based on the limited data, we are undecided about whether this should be a requirement.

                                +
                              + +

                              5.2.4 Add a control to a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              - +Existing implementation support:

                              @@ -3688,11 +3787,11 @@
                              Existing implementationsSupported use cases
                              Uses beyond mapping

                              - +ToDo

                              @@ -3710,6 +3809,7 @@

                              Conclusion

                              5.2.5 Remove a control from a map

                              @@ -3718,7 +3818,7 @@

                              5.2.5 Remov

                              Discuss this section on GitHub.

                              Existing implementations

                              - +Existing implementation support:

                              @@ -3739,7 +3839,7 @@
                              Supported use cases
                              Uses beyond mapping

                              - +ToDo

                              @@ -3757,6 +3857,7 @@

                              Conclusion

                              5.2.6 Get the bounds of a map

                              @@ -3765,7 +3866,7 @@

                              5.2.6 Get the b

                              Discuss this section on GitHub.

                              Existing implementations

                              - +Existing implementation support:

                              @@ -3786,7 +3887,7 @@
                              Supported use cases
                              Uses beyond mapping

                              - +ToDo

                              @@ -3804,6 +3905,7 @@

                              Conclusion

                              5.2.7 Add a layer to a map

                              @@ -3812,7 +3914,7 @@

                              5.2.7 Add a layer

                              Discuss this section on GitHub.

                              Existing implementations

                              - +Existing implementation support:

                              @@ -3833,11 +3935,11 @@
                              Existing implementationsSupported use cases
                              Uses beyond mapping

                              - +ToDo

                              @@ -3855,15 +3957,16 @@

                              Conclusion

                              5.2.8 Remove a layer from a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              - +Existing implementation support:

                              @@ -3886,7 +3989,7 @@
                              Supported use cases
                              Uses beyond mapping

                              - +ToDo

                              @@ -3904,6 +4007,7 @@

                              Conclusion

                              5.2.9 Display a layer on a map

                              @@ -3912,7 +4016,7 @@

                              5.2.9 Display

                              Discuss this section on GitHub.

                              Existing implementations

                              - +Existing implementation support:

                              @@ -3931,11 +4035,11 @@
                              Existing implementationsSupported use cases
                              Uses beyond mapping

                              - +ToDo

                              @@ -3953,6 +4057,7 @@

                              Conclusion

                              5.2.10 Hide a layer on a map

                              @@ -3961,7 +4066,7 @@

                              5.2.10 Hide a la

                              Discuss this section on GitHub.

                              Existing implementations

                              - +Existing implementation support:

                              @@ -3980,11 +4085,11 @@
                              Existing implementationsSupported use cases
                              Uses beyond mapping

                              - +ToDo

                              @@ -4002,15 +4107,16 @@

                              Conclusion

                              5.2.11 Specify the style of a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              - +Existing implementation support:

                              @@ -4031,7 +4137,7 @@
                              Supported use cases
                              Uses beyond mapping

                              - +ToDo

                              @@ -4049,6 +4155,7 @@

                              Conclusion

                              5.2.12 Determine the current style of a map

                              @@ -4057,7 +4164,7 @@

                              5.2.12
                              Issue 66: Capability: Determine the current style of a map discussion: capabilitysection: client-side APIstatus: placeholder

                              Discuss this section on GitHub.

                              Existing implementations

                              - +Existing implementation support:

                              @@ -4078,7 +4185,7 @@
                              Supported use cases
                              Uses beyond mapping

                              - +ToDo

                              @@ -4096,6 +4203,7 @@

                              Conclusion

                              5.2.13 Pan a map or re-centre a map

                              @@ -4104,7 +4212,7 @@

                              5.2.13 Pa

                              Discuss this section on GitHub.

                              Existing implementations

                              - +Existing implementation support:

                              @@ -4125,7 +4233,7 @@
                              Supported use cases
                              Uses beyond mapping

                              - +ToDo

                              @@ -4143,15 +4251,16 @@

                              Conclusion

                              5.2.14 Zoom a map in or out

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              - +Existing implementation support:

                              @@ -4168,11 +4277,11 @@
                              Existing implementationsSupported use cases
                              Uses beyond mapping

                              - +ToDo

                              @@ -4190,6 +4299,7 @@

                              Conclusion

                              5.2.15 Subscribe to map move events

                              @@ -4198,7 +4308,7 @@

                              5.2.15 Su

                              Discuss this section on GitHub.

                              Existing implementations

                              - +Existing implementation support:

                              @@ -4219,7 +4329,7 @@
                              Supported use cases
                              Uses beyond mapping

                              - +ToDo

                              @@ -4237,15 +4347,16 @@

                              Conclusion

                              5.2.16 Subscribe to map zoom events

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              - +Existing implementation support:

                              @@ -4266,7 +4377,7 @@
                              Supported use cases
                              Uses beyond mapping

                              - +ToDo

                              @@ -4284,6 +4395,7 @@

                              Conclusion

                              5.2.17 Subscribe to marker selection events

                              @@ -4292,7 +4404,7 @@

                              5.2.17
                              Issue 71: Capability: Subscribe to marker selection events discussion: capabilitysection: client-side APIstatus: placeholder

                              Discuss this section on GitHub.

                              Existing implementations

                              - +Existing implementation support:

                              @@ -4313,7 +4425,7 @@
                              Supported use cases
                              Uses beyond mapping

                              - +ToDo

                              @@ -4331,6 +4443,7 @@

                              Conclusion

                              5.2.18 Change the bearing of a map

                              @@ -4339,7 +4452,7 @@

                              5.2.18 Cha

                              Discuss this section on GitHub.

                              Existing implementations

                              - +Existing implementation support:

                              @@ -4360,7 +4473,7 @@
                              Supported use cases
                              Uses beyond mapping

                              - +ToDo

                              @@ -4378,15 +4491,16 @@

                              Conclusion

                              5.2.19 Reset the bearing of a map

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              - +Existing implementation support:

                              @@ -4407,7 +4521,7 @@
                              Supported use cases
                              Uses beyond mapping

                              - +ToDo

                              @@ -4425,15 +4539,113 @@

                              Conclusion -

                              5.2.20 Define a data source for a map

                              + +
                              +

                              5.2.20 Define a data source for a tile layer

                              Description to follow

                              Discuss this section on GitHub.

                              -
                              Existing implementations
                              +
                              Existing implementations
                              +

                              +Existing implementation support: +

                              +
                              + +
                              google-maps-api
                              +
                              bing-maps-api
                              +
                              apple-mapkit-js-api
                              +
                              mapbox-gl-api
                              +
                              leaflet-api
                              +
                              open-layers-api
                              +
                              d3-geographies-api
                              +
                              not applicable: + +
                              +
                              +
                              Supported use cases
                              + +
                              Uses beyond mapping
                              +

                              +ToDo +

                              + +

                              + +

                              +
                              Conclusion
                              + +

                              +Based on the limited data, we are undecided about whether this should be a requirement. +

                              +
                                + +
                              • + +
                              • +
                              +
                              + +
                              +

                              5.2.21 Move the map to display a given location

                              +

                              +An API should support allowing the map to be moved to +display a given location. +

                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations
                              +

                              +Existing implementation support: +

                              +
                              + +
                              google-maps-api
                              +
                              bing-maps-api
                              +
                              apple-mapkit-js-api
                              +
                              mapbox-gl-api
                              +
                              leaflet-api
                              +
                              open-layers-api
                              +
                              d3-geographies-api
                              +
                              not applicable: + +
                              +
                              +
                              Supported use cases
                              + +
                              Uses beyond mapping
                              +

                              +ToDo +

                              +

                              +

                              +
                              Conclusion
                              + +

                              +This functionality is a requirement for modern web maps. +

                              +
                                + +
                              • + +
                              • +
                              +
                              + +
                              +

                              5.2.22 Pan and zoom a map so as to completely show the area covered by a given bounding box

                              +

                              +Description to follow +

                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations
                              +

                              +Existing implementation support:

                              @@ -4448,19 +4660,259 @@
                              Existing implementationsSupported use cases
                              +
                              Supported use cases
                              -
                              Uses beyond mapping
                              +
                              Uses beyond mapping

                              +ToDo +

                              + +

                              + +

                              +
                              Conclusion
                              + +

                              +Based on the limited data, we are undecided about whether this should be a requirement. +

                              +
                                + +
                              • +
                              • +
                              +
                              + +
                              +

                              5.2.23 Animate the re-centering of the map view

                              +

                              +Description to follow +

                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations
                              +

                              +Existing implementation support: +

                              +
                              + +
                              google-maps-api
                              +
                              bing-maps-api
                              +
                              apple-mapkit-js-api
                              +
                              mapbox-gl-api
                              +
                              leaflet-api
                              +
                              open-layers-api
                              +
                              d3-geographies-api
                              +
                              not applicable: + +
                              +
                              +
                              Supported use cases
                              +
                                + +
                              +
                              Uses beyond mapping
                              +

                              +ToDo +

                              + +

                              + +

                              +
                              Conclusion
                              + +

                              +This functionality could be added to enhance native web maps in the future. +

                              +
                                + +
                              • + +
                              • +
                              +
                              + +
                              +

                              5.2.24 Animate the zooming of the map

                              +

                              +Description to follow +

                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations
                              +

                              +Existing implementation support: +

                              +
                              + +
                              google-maps-api
                              +
                              bing-maps-api
                              +
                              apple-mapkit-js-api
                              +
                              mapbox-gl-api
                              +
                              leaflet-api
                              +
                              open-layers-api
                              +
                              d3-geographies-api
                              +
                              not applicable: + +
                              +
                              +
                              Supported use cases
                              + +
                              Uses beyond mapping
                              +

                              +ToDo +

                              + +

                              + +

                              +
                              Conclusion
                              + +

                              +This functionality could be added to enhance native web maps in the future. +

                              +
                                + +
                              • + +
                              • +
                              +
                              + +
                              +

                              5.2.25 Animate the re-centering of the map

                              +

                              +Description to follow +

                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations
                              +

                              +Existing implementation support: +

                              +
                              + +
                              google-maps-api
                              +
                              bing-maps-api
                              +
                              apple-mapkit-js-api
                              +
                              mapbox-gl-api
                              +
                              leaflet-api
                              +
                              open-layers-api
                              +
                              d3-geographies-api
                              +
                              not applicable: + +
                              +
                              +
                              Supported use cases
                              + +
                              Uses beyond mapping
                              +

                              +ToDo +

                              + +

                              + +

                              +
                              Conclusion
                              + +

                              +Based on the limited data, we are undecided about whether this should be a requirement. +

                              +
                                + +
                              • + +
                              • +
                              +
                              + +
                              +

                              5.2.26 Create an overlay defined by vector data

                              +

                              +Description to follow +

                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations
                              +

                              +Existing implementation support: +

                              +
                              + +
                              google-maps-api
                              +
                              bing-maps-api
                              +
                              apple-mapkit-js-api
                              +
                              mapbox-gl-api
                              +
                              leaflet-api
                              +
                              open-layers-api
                              +
                              d3-geographies-api
                              +
                              not applicable: + +
                              +
                              +
                              Supported use cases
                              + +
                              Uses beyond mapping
                              +

                              +ToDo +

                              + +

                              + +

                              +
                              Conclusion
                              + +

                              +This functionality could be added to enhance native web maps in the future. +

                              +
                                + +
                              • + +
                              • +
                              +
                              + +
                              +

                              5.2.27 Create an overlay defined by heatmap data

                              +

                              +Description to follow +

                              +

                              Discuss this section on GitHub.

                              +
                              Existing implementations
                              +

                              +Existing implementation support: +

                              +
                              + +
                              google-maps-api
                              +
                              bing-maps-api
                              +
                              apple-mapkit-js-api
                              +
                              mapbox-gl-api
                              +
                              leaflet-api
                              +
                              open-layers-api
                              +
                              d3-geographies-api
                              +
                              not applicable: + +
                              +
                              +
                              Supported use cases
                              + +
                              Uses beyond mapping
                              +

                              +ToDo

                              - +

                              -
                              Conclusion
                              +
                              Conclusion

                              Based on the limited data, we are undecided about whether this should be a requirement. @@ -4523,7 +4975,7 @@

                              A. Open IssuesGithub.

                              -
                              • Issue 25: Tools: Usage data
                              • Issue 23: Tool: Best examples based on custom elements?
                              • Issue 9: Tool: Google maps api
                              • Issue 26: Tool: OpenStreetMap embed
                              • Issue 27: Tool: Bing maps
                              • Issue 28: Tool: MapKit JS (Apple maps)
                              • Issue 12: Tool: Mapbox (GL JS API)
                              • Issue 29: Tool: Leaflet.js
                              • Issue 30: Tool: OpenLayers API
                              • Issue 13: Tool: D3 maps
                              • Issue 33: Use case: Display a location on a map
                              • Issue 17: Use Case: Static maps
                              • Issue 34: Use case: Multiple map markers
                              • Issue 36: Use case: Display regions & routes
                              • Issue 37: Use case: Custom HTML annotations
                              • Issue 38: Use Case: Map coverages or custom image tiles
                              • Issue 11: Use Case: Layer together multiple map data sources
                              • Issue 1: Use case: Technical drawings (panning, zooming, layers, etc.)
                              • Issue 39: Use case: User-controlled pan & zoom
                              • Issue 21: Use Case: Identify feature under the pointing device or other input method
                              • Issue 40: Use Case: Toggle visibility of map layers
                              • Issue 41: Use Case: Bookmark/export a location
                              • Issue 42: Use case: search within a set of map features
                              • Issue 43: Use case: View a map in dark mode or high-contrast mode
                              • Issue NaN
                              • Issue NaN
                              • Issue NaN
                              • Issue NaN
                              • Issue 14: Capability: Allow different map projections
                              • Issue 3: Capability: Render maps as a globe or other non-Mercator projection
                              • Issue 15: Capability: Allow map authors to style content using CSS
                              • Issue NaN
                              • Issue 16: Capability: Allow default and custom map furniture
                              • Issue 77: Use Case: Create, initialise, and display a map
                              • Issue 78: Use Case: Display multiple point locations on a single map
                              • Issue 79: Use Case: Add a custom control to a map
                              • Issue 80: Use Case: Provide feedback to a user as they manipulate the map
                              • Issue 81: Use Case: Allow the user to select a different style for a map
                              • Issue 82: Use Case: Allow the user to control the layer displayed by a map
                              • Issue 83: Use Case: Allow a user to reset the map to their starting point
                              • Issue 84: Use Case: Change the bearing of a map
                              • Issue 85: Use Case: Specify a data source for a map
                              • Issue NaN
                              • Issue 55: Capability: Create, initialise, and display a map
                              • Issue 56: Capability: Add a marker or multiple markers to a map
                              • Issue 57: Capability: Implement a custom control
                              • Issue 58: Capability: Add a control to a map
                              • Issue 59: Capability: Remove a control from a map
                              • Issue 60: Capability: Get the bounds of a map
                              • Issue 61: Capability: Add a layer to a map
                              • Issue 62: Capability: Remove a layer from a map
                              • Issue 63: Capability: Display a layer on a map
                              • Issue 64: Capability: Hide a layer on a map
                              • Issue 65: Capability: Specify the style of a map
                              • Issue 66: Capability: Determine the current style of a map
                              • Issue 67: Capability: Pan a map or re-centre a map
                              • Issue 68: Capability: Zoom a map in or out
                              • Issue 69: Capability: Subscribe to map move events
                              • Issue 70: Capability: Subscribe to map zoom events
                              • Issue 71: Capability: Subscribe to marker selection events
                              • Issue 72: Capability: Change the bearing of a map
                              • Issue 73: Capability: Reset the bearing of a map
                              • Issue 74: Capability: Define a data source for a map

                              +

                              B. Acknowledgments

                              From b6c4b5bebe22958c1e8934bcf55588fb6e8ced05 Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Tue, 16 Jul 2019 19:41:25 +0000 Subject: [PATCH 11/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- index.html | 171 ++++++++++++++++++++++++++++------------------------- 1 file changed, 89 insertions(+), 82 deletions(-) diff --git a/index.html b/index.html index 0ae187b..d668430 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ - +
                              @@ -63,6 +64,49 @@

                              Examples for

                              +
                              +

                              Google Maps

                              +
                              + + +

                              Leaflet.js with OpenStreetMap tiles

                              @@ -146,7 +190,7 @@

                              MapBox GL

                              Use Cases and Requirements for Standardizing

                              Draft Community Group Report - +

                              @@ -1650,7 +1650,7 @@

                              and JS-based maps as implemented by the reference JavaScript tools.

                              -
                              Issue 77: Use Case: Create, initialise, and display a map discussion: use casestatus: placeholder

                              Discuss this section on GitHub.

                              +
                              Issue 77: Use Case: Display an interactive map within a web page discussion: use casestatus: editor's draft

                              Discuss this section on GitHub.

                              Required capabilities

                              @@ -2080,7 +2080,7 @@

                              3.3.1 Add See examples of adding a custom control to a map as implemented by the reference JavaScript tools.

                              -
                              Issue 79: Use Case: Add a custom control to a map discussion: use casestatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Required capabilities
                              @@ -2373,7 +2373,7 @@

                              4.2 OpenStreetMap em and these are used in other map viewer widgets and APIs. The raw data is also re-processed and used by other map data services.

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              @@ -2386,7 +2386,7 @@

                              4.3 as well as an interface to Bing's search services. API tokens are required; free and paid plans are available, with usage caps.

                              - +

                              Discuss this section on GitHub.

                              @@ -2401,7 +2401,7 @@

                              4.4 MapKit JS (A A developer account is required, along with a method of generating encrypted API tokens on demand on the webserver.

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              @@ -2418,7 +2418,7 @@

                              4.5 Mapbox GL JS API An API key is required, with cost based on usage.

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              @@ -2433,7 +2433,7 @@

                              4.6 Leaflet.js API - +

                              Discuss this section on GitHub.

                              @@ -2444,7 +2444,7 @@

                              4.7 OpenLayers API -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              @@ -2457,7 +2457,7 @@

                              4.8 D3 Geographies AP D3 does not include code for a ready-made map viewer widget, but it is used for custom client-side mapping applications.

                              - +

                              Discuss this section on GitHub.

                              @@ -3194,7 +3194,7 @@

                              < or otherwise converting one map projection to another view, is a separate capability, discussed in § 5.3.4 Reproject map tile data into a new projection or globe view.

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              @@ -3265,7 +3265,7 @@

                              -
                              Issue 3: Capability: Render maps as a globe or other non-Mercator projection discussion: capabilitysection: map viewerstatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              @@ -3656,7 +3656,7 @@

                              -
                              Issue 15: Capability: Allow map authors to style content using CSS discussion: capabilitysection: map viewerstatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              @@ -3781,7 +3781,7 @@

                              -
                              Issue 16: Capability: Allow default and custom map furniture discussion: capabilitysection: map viewerstatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              @@ -3859,7 +3859,7 @@

                              6.1.1 This is the starting point for all API usage.

                              -
                              Issue 55: Capability: Create, initialise, and display a map discussion: capabilitysection: client-side APIstatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Implementations differ in how much is expected of the @@ -3911,7 +3911,7 @@

                              6.1

                              Description to follow

                              -
                              Issue 56: Capability: Add a marker or multiple markers to a map discussion: capabilitysection: client-side APIstatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -3963,7 +3963,7 @@

                              6.1.3 Implem integrated closely with the map's own user interface, and is under the control of the map once it has ben added.

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              A custom control is a JavaScript object or a DOM element @@ -4040,7 +4040,7 @@

                              6.1.4 Add a cont

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4086,7 +4086,7 @@

                              6.1.5 Remov

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4132,7 +4132,7 @@

                              6.1.6 Add a layer

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4182,7 +4182,7 @@

                              6.1.7 <

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4320,7 +4320,7 @@

                              6.1.10 Remov

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4368,7 +4368,7 @@

                              6.1.11 Displa

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4416,7 +4416,7 @@

                              6.1.12 Hide a la

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4464,7 +4464,7 @@

                              6.1.13 Spec

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4510,7 +4510,7 @@

                              6.1.14

                              Description to follow

                              -
                              Issue 66: Capability: Determine the current style of a map discussion: capabilitysection: client-side APIstatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4560,7 +4560,7 @@

                              6.2.1 Get the b

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4606,7 +4606,7 @@

                              6.2.2 Pan

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4652,7 +4652,7 @@

                              6.2.3 Zoom a map i

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4698,7 +4698,7 @@

                              6.2.4 Subs

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4744,7 +4744,7 @@

                              6.2.5 Subs

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4790,7 +4790,7 @@

                              6.2.6 Description to follow

                              -
                              Issue 71: Capability: Subscribe to marker selection events discussion: capabilitysection: client-side APIstatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4836,7 +4836,7 @@

                              6.2.7 Chang

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4882,7 +4882,7 @@

                              6.2.8 Reset

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -5203,7 +5203,7 @@

                              A. Open IssuesGithub.

                              -

                              +

                              B. Acknowledgments

                              From 08a6d301ca3d86dad008268fa4728f8a44784e0f Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Fri, 9 Aug 2019 03:06:06 +0000 Subject: [PATCH 18/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- ...tml => add-a-custom-control-to-a-map.html} | 0 ...low-user-control-layer-displayed-map.html} | 2 +- ...-user-reset-map-their-starting-point.html} | 2 +- examples/alternative-layers.html | 170 ++++++++++ ... animate-map-through-sequence-points.html} | 2 +- examples/api-keys.js | 8 +- ...aring-map.html => change-bearing-map.html} | 2 +- ...ge-map-new-position-andor-zoom-level.html} | 2 +- examples/create-map.html | 167 ++++++++++ ...html => create-plugin-integrates-api.html} | 2 +- ...ce-map-tile-layer.html => custom-map.html} | 142 ++++++-- examples/example-template.html | 136 ++++++++ examples/examples.css | 29 ++ examples/globe.html | 80 ----- examples/html-annotations.html | 136 ++++++++ examples/layers.html | 138 ++++++++ examples/multiple-location-markers.html | 211 ++++++++++++ examples/poly-features.html | 136 ++++++++ ...de-feedback-user-they-manipulate-map.html} | 2 +- ...ap.html => show-heatmap-overlaid-map.html} | 2 +- ...html => show-vector-data-overlay-map.html} | 2 +- examples/single-location.html | 123 +++++-- ...-map.html => specify-data-source-map.html} | 2 +- examples/static-map.html | 136 ++++++++ examples/technical-drawings.html | 136 ++++++++ ...allow-user-select-different-style-map.html | 93 ------ ...se-case-create-initialise-display-map.html | 93 ------ ...y-multiple-point-locations-single-map.html | 132 -------- index.html | 312 ++++++++++-------- 29 files changed, 1795 insertions(+), 603 deletions(-) rename examples/{use-case-add-a-custom-control-to-a-map.html => add-a-custom-control-to-a-map.html} (100%) rename examples/{use-case-allow-user-control-layer-displayed-map.html => allow-user-control-layer-displayed-map.html} (98%) rename examples/{use-case-allow-user-reset-map-their-starting-point.html => allow-user-reset-map-their-starting-point.html} (96%) create mode 100644 examples/alternative-layers.html rename examples/{use-case-animate-map-through-sequence-points.html => animate-map-through-sequence-points.html} (96%) rename examples/{use-case-change-bearing-map.html => change-bearing-map.html} (96%) rename examples/{use-case-change-map-new-position-andor-zoom-level.html => change-map-new-position-andor-zoom-level.html} (96%) create mode 100644 examples/create-map.html rename examples/{use-case-create-plugin-integrates-api.html => create-plugin-integrates-api.html} (96%) rename examples/{use-case-specify-data-source-map-tile-layer.html => custom-map.html} (51%) create mode 100644 examples/example-template.html create mode 100644 examples/examples.css delete mode 100644 examples/globe.html create mode 100644 examples/html-annotations.html create mode 100644 examples/layers.html create mode 100644 examples/multiple-location-markers.html create mode 100644 examples/poly-features.html rename examples/{use-case-provide-feedback-user-they-manipulate-map.html => provide-feedback-user-they-manipulate-map.html} (96%) rename examples/{use-case-show-heatmap-overlaid-map.html => show-heatmap-overlaid-map.html} (96%) rename examples/{use-case-show-vector-data-overlay-map.html => show-vector-data-overlay-map.html} (96%) rename examples/{use-case-specify-data-source-map.html => specify-data-source-map.html} (96%) create mode 100644 examples/static-map.html create mode 100644 examples/technical-drawings.html delete mode 100644 examples/use-case-allow-user-select-different-style-map.html delete mode 100644 examples/use-case-create-initialise-display-map.html delete mode 100644 examples/use-case-display-multiple-point-locations-single-map.html diff --git a/examples/use-case-add-a-custom-control-to-a-map.html b/examples/add-a-custom-control-to-a-map.html similarity index 100% rename from examples/use-case-add-a-custom-control-to-a-map.html rename to examples/add-a-custom-control-to-a-map.html diff --git a/examples/use-case-allow-user-control-layer-displayed-map.html b/examples/allow-user-control-layer-displayed-map.html similarity index 98% rename from examples/use-case-allow-user-control-layer-displayed-map.html rename to examples/allow-user-control-layer-displayed-map.html index f3bbe94..dc4c948 100644 --- a/examples/use-case-allow-user-control-layer-displayed-map.html +++ b/examples/allow-user-control-layer-displayed-map.html @@ -140,7 +140,7 @@

                              MapBox GL

                              + + +

                              Examples for + + Use Case: Provide alternative map layers which the user can select + +

                              + +

                              +***Introduction*** +

                              + +
                              + Jump to section… + +
                              + +
                              +

                              Google Maps embed

                              + +***TODO*** +
                              + +
                              +

                              OpenStreetMap embed

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps embed

                              + +***TODO*** +
                              + +
                              +

                              MapBox Studio embed

                              + +***TODO*** +
                              + +
                              +

                              Leaflet.js with OpenStreetMap tiles

                              +
                              + + + +
                              + +
                              +

                              OpenLayers with OpenStreetMap tiles

                              +
                              + + + +
                              + +
                              +

                              Google Maps API

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps Control API

                              + +***TODO*** +
                              + +
                              +

                              MapKit JS (Apple Maps) API

                              + +***TODO*** +
                              + +
                              +

                              MapBox GL

                              +
                              + + + +
                              + +
                              +

                              D3 Geographies APIs

                              + +***TODO*** +
                              + + \ No newline at end of file diff --git a/examples/use-case-animate-map-through-sequence-points.html b/examples/animate-map-through-sequence-points.html similarity index 96% rename from examples/use-case-animate-map-through-sequence-points.html rename to examples/animate-map-through-sequence-points.html index 90601bf..2270897 100644 --- a/examples/use-case-animate-map-through-sequence-points.html +++ b/examples/animate-map-through-sequence-points.html @@ -80,7 +80,7 @@

                              MapBox GL

                              + + +

                              Examples for + + Use Case: Display an interactive map + +

                              + +

                              +The embedded map viewers here show their default view, +which is generally a map of the whole globe +although it may be personalized to the viewer's location. +

                              +

                              +The JS API maps are the simplest viewers supported by each framework. +Some require an explicit position and zoom level to display anything; +the examples use a full-globe map (zoom 0) centered on 0° latitude and longitude. +Some frameworks also require explicit map tile source; +the examples in those cases use OpenStreetMap tiles. +

                              + +
                              + Jump to section… + +
                              + +
                              +

                              Google Maps

                              + + +
                              + +
                              +

                              OpenStreetMap

                              + +
                              View Larger Map +
                              + +
                              +

                              Bing Maps

                              +
                              + + +
                              +
                              + +
                              +

                              MapBox Studio embed

                              +
                              + +
                              +
                              + +
                              +

                              Leaflet.js (with OpenStreetMap tiles)

                              +
                              + + + +
                              + +
                              +

                              OpenLayers (with OpenStreetMap tiles)

                              +
                              + + + +
                              + +
                              +

                              Google Maps API

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps Control API

                              + +***TODO*** +
                              + +
                              +

                              MapKit JS (Apple Maps) API

                              + +***TODO*** +
                              + +
                              +

                              MapBox GL

                              +
                              + + + +
                              + + diff --git a/examples/use-case-create-plugin-integrates-api.html b/examples/create-plugin-integrates-api.html similarity index 96% rename from examples/use-case-create-plugin-integrates-api.html rename to examples/create-plugin-integrates-api.html index e3a3a98..12ed23d 100644 --- a/examples/use-case-create-plugin-integrates-api.html +++ b/examples/create-plugin-integrates-api.html @@ -80,7 +80,7 @@

                              MapBox GL

                              Examples for @@ -41,9 +14,70 @@

                              Examples for Use Case: Specify a data source for a map

                              -
                              + +

                              +***Introduction*** +

                              + +
                              + Jump to section… + +
                              + +
                              +

                              Google Maps embed

                              + +***TODO*** +
                              + +
                              +

                              OpenStreetMap embed

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps embed

                              + +***TODO*** +
                              + +
                              +

                              MapBox Studio embed

                              + +***TODO*** +
                              + +

                              Leaflet.js with OpenStreetMap tiles

                              + @@ -56,9 +90,11 @@

                              Leaflet.js with OpenStreetMap tiles

                              }).addTo(leafletMap);
                              -
                              + +

                              OpenLayers with OpenStreetMap tiles

                              +
                              -
                              + +
                              +

                              Google Maps API

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps Control API

                              + +***TODO*** +
                              + +
                              +

                              MapKit JS (Apple Maps) API

                              + +***TODO*** +
                              + +

                              MapBox GL

                              +
                              + +
                              +

                              D3 Geographies APIs

                              + +***TODO*** +
                              \ No newline at end of file diff --git a/examples/example-template.html b/examples/example-template.html new file mode 100644 index 0000000..d2c60e5 --- /dev/null +++ b/examples/example-template.html @@ -0,0 +1,136 @@ + + + + + + + ***Description*** — Maps for HTML reference examples + + + + +

                              Examples for + Use Case: ***Title*** +

                              + +

                              +***Introduction*** +

                              + +
                              + Jump to section… + +
                              + +
                              +

                              Google Maps embed

                              + +***TODO*** +
                              + +
                              +

                              OpenStreetMap embed

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps embed

                              + +***TODO*** +
                              + +
                              +

                              MapBox Studio embed

                              + +***TODO*** +
                              + +
                              +

                              Leaflet.js (with OpenStreetMap tiles)

                              + +***TODO*** +
                              + +
                              +

                              OpenLayers with OpenStreetMap tiles

                              + +***TODO*** +
                              + +
                              +

                              Google Maps API

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps Control API

                              + +***TODO*** +
                              + +
                              +

                              MapKit JS (Apple Maps) API

                              + +***TODO*** +
                              + +
                              +

                              Mapbox GL JS API

                              + +***TODO*** +
                              + +
                              +

                              D3 Geographies APIs

                              + +***TODO*** +
                              + + diff --git a/examples/examples.css b/examples/examples.css new file mode 100644 index 0000000..23aace7 --- /dev/null +++ b/examples/examples.css @@ -0,0 +1,29 @@ + +html { + background-color: #fefefe; + color: #222; +} +h1 a:link, h1 a:visited { + color: navy; +} +p { + max-width: 50em; +} +script.example { + display: block; + white-space: pre-wrap; + font-family: monospace; + padding: 1rem; + border: 1px solid #ccc; + margin-top: 1rem; + position: relative; +} + +script.example:before { + content: 'Script'; + background-color: #efefef; + position: absolute; + top: -0.5rem; + border: 1px solid #ccc; + padding: 0.1rem 0.5rem; +} \ No newline at end of file diff --git a/examples/globe.html b/examples/globe.html deleted file mode 100644 index ca0ad9e..0000000 --- a/examples/globe.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - Single Location Map Views — Reference implementations - - - - -

                              Examples for Use Case: Display an interactive map

                              - -

                              -The embedded map viewers here show their default view, -which is generally a map of the whole globe -although it may be personalized to the viewer's location. -

                              - -

                              Google Maps

                              - - - -

                              OpenStreetMap

                              - -
                              View Larger Map - -

                              Bing Maps

                              -
                              - - -
                              - -

                              MapBox

                              -
                              - -
                              - -

                              Leaflet.js with OpenStreetMap tiles

                              -
                              - - - -

                              OpenLayers with OpenStreetMap tiles

                              -
                              - - - - - diff --git a/examples/html-annotations.html b/examples/html-annotations.html new file mode 100644 index 0000000..4321a1b --- /dev/null +++ b/examples/html-annotations.html @@ -0,0 +1,136 @@ + + + + + + + Display custom HTML annotations — Maps for HTML reference examples + + + + +

                              Examples for + Use Case: Display custom web content describing map features +

                              + +

                              +***Introduction*** +

                              + +
                              + Jump to section… + +
                              + +
                              +

                              Google Maps embed

                              + +***TODO*** +
                              + +
                              +

                              OpenStreetMap embed

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps embed

                              + +***TODO*** +
                              + +
                              +

                              MapBox Studio embed

                              + +***TODO*** +
                              + +
                              +

                              Leaflet.js (with OpenStreetMap tiles)

                              + +***TODO*** +
                              + +
                              +

                              OpenLayers with OpenStreetMap tiles

                              + +***TODO*** +
                              + +
                              +

                              Google Maps API

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps Control API

                              + +***TODO*** +
                              + +
                              +

                              MapKit JS (Apple Maps) API

                              + +***TODO*** +
                              + +
                              +

                              Mapbox GL JS API

                              + +***TODO*** +
                              + +
                              +

                              D3 Geographies APIs

                              + +***TODO*** +
                              + + diff --git a/examples/layers.html b/examples/layers.html new file mode 100644 index 0000000..129dd70 --- /dev/null +++ b/examples/layers.html @@ -0,0 +1,138 @@ + + + + + + + Multi-layered maps — Maps for HTML reference examples + + + + +

                              Examples for + Author Use Case: Combine multiple layers of map tile data or features + and + Web Visitor Use Case: Show/hide map layers or feature sets +

                              + +

                              +***Introduction*** +

                              + +
                              + Jump to section… + +
                              + +
                              +

                              Google Maps embed

                              + +***TODO*** +
                              + +
                              +

                              OpenStreetMap embed

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps embed

                              + +***TODO*** +
                              + +
                              +

                              MapBox Studio embed

                              + +***TODO*** +
                              + +
                              +

                              Leaflet.js (with OpenStreetMap tiles)

                              + +***TODO*** +
                              + +
                              +

                              OpenLayers with OpenStreetMap tiles

                              + +***TODO*** +
                              + +
                              +

                              Google Maps API

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps Control API

                              + +***TODO*** +
                              + +
                              +

                              MapKit JS (Apple Maps) API

                              + +***TODO*** +
                              + +
                              +

                              Mapbox GL JS API

                              + +***TODO*** +
                              + +
                              +

                              D3 Geographies APIs

                              + +***TODO*** +
                              + + diff --git a/examples/multiple-location-markers.html b/examples/multiple-location-markers.html new file mode 100644 index 0000000..e354014 --- /dev/null +++ b/examples/multiple-location-markers.html @@ -0,0 +1,211 @@ + + + + + + + Display multiple point locations as map markers — Maps for HTML reference examples + + + + +

                              Examples for + + Use Case: Display multiple point locations as map markers + +

                              + +

                              +This example enhances the basic maps of CERN +by adding three point markers to the map. +The marker positions are defined by latitude and longitude. +Default marker icons are used where available. +

                              + +
                              + Jump to section… + +
                              + +
                              +

                              Google Maps embed

                              + +***TODO*** +
                              + +
                              +

                              OpenStreetMap embed

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps embed

                              + +***TODO*** +
                              + +
                              +

                              MapBox Studio embed

                              + +***TODO*** +
                              + +
                              +

                              Leaflet.js with OpenStreetMap tiles

                              +
                              + + + +
                              + +
                              +

                              OpenLayers with OpenStreetMap tiles

                              +
                              + + + +
                              + +
                              +

                              Google Maps API

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps Control API

                              + +***TODO*** +
                              + +
                              +

                              MapKit JS (Apple Maps) API

                              + +***TODO*** +
                              + +
                              +

                              MapBox GL

                              +
                              + + + +
                              + +
                              +

                              D3 Geographies APIs

                              + +***TODO*** +
                              + + \ No newline at end of file diff --git a/examples/poly-features.html b/examples/poly-features.html new file mode 100644 index 0000000..4e9aa27 --- /dev/null +++ b/examples/poly-features.html @@ -0,0 +1,136 @@ + + + + + + + Display routes/paths or regions — Maps for HTML reference examples + + + + +

                              Examples for + Use Case: Display routes/paths or regions +

                              + +

                              +***Introduction*** +

                              + +
                              + Jump to section… + +
                              + +
                              +

                              Google Maps embed

                              + +***TODO*** +
                              + +
                              +

                              OpenStreetMap embed

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps embed

                              + +***TODO*** +
                              + +
                              +

                              MapBox Studio embed

                              + +***TODO*** +
                              + +
                              +

                              Leaflet.js (with OpenStreetMap tiles)

                              + +***TODO*** +
                              + +
                              +

                              OpenLayers with OpenStreetMap tiles

                              + +***TODO*** +
                              + +
                              +

                              Google Maps API

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps Control API

                              + +***TODO*** +
                              + +
                              +

                              MapKit JS (Apple Maps) API

                              + +***TODO*** +
                              + +
                              +

                              Mapbox GL JS API

                              + +***TODO*** +
                              + +
                              +

                              D3 Geographies APIs

                              + +***TODO*** +
                              + + diff --git a/examples/use-case-provide-feedback-user-they-manipulate-map.html b/examples/provide-feedback-user-they-manipulate-map.html similarity index 96% rename from examples/use-case-provide-feedback-user-they-manipulate-map.html rename to examples/provide-feedback-user-they-manipulate-map.html index 8d3b4cc..4b1f16e 100644 --- a/examples/use-case-provide-feedback-user-they-manipulate-map.html +++ b/examples/provide-feedback-user-they-manipulate-map.html @@ -80,7 +80,7 @@

                              MapBox GL

                              Examples for Use Case: Display a location on a map

                              -The embedded map viewers here are displaying the location of +The map viewers here are displaying the location of CERN, birthplace of the web:

                              @@ -23,6 +20,8 @@ 

                              Examples for Use Case: Disp Esplanade des Particules 1 1217 Meyrin Switzerland +latitude: 6.054893732070923 +longitude: 46.2334537001

                              The embed codes were generated by first searching for the address @@ -32,16 +31,51 @@

                              Examples for Use Case: Disp to construct the embedded map URL with human-readable HTML, although it may require a developer's API key.

                              +

                              +The client-side frameworks mostly require the location to be set +using latitude and longitude values. +

                              +

                              +Some of the viewers by default display a location point marker for the searched address. +See examples of adding location markers +for how to add point markers with the other services (where possible). +

                              -

                              Google Maps

                              +
                              + Jump to section… + +
                              + +
                              +

                              Google Maps embed

                              +
                              -

                              OpenStreetMap

                              +
                              +

                              OpenStreetMap embed


                              View Larger Map +
                              -

                              Bing Maps

                              +
                              +

                              Bing Maps embed

                              @@ -50,16 +84,23 @@

                              Bing Maps

                              Get Directions
                              +
                              -

                              MapBox

                              +
                              +

                              MapBox Studio embed

                              +
                              -

                              Leaflet.js with OpenStreetMap tiles

                              +
                              +

                              Leaflet.js (with OpenStreetMap tiles)

                              + @@ -70,11 +111,13 @@

                              Leaflet.js with OpenStreetMap tiles

                              maxZoom: 20, attribution: 'Map data © OpenStreetMap contributors' }).addTo(leafletMap); - L.marker([46.2334537001, 6.054893732070923]).addTo(leafletMap); +
                              -

                              OpenLayers with OpenStreetMap tiles

                              +
                              +

                              OpenLayers (with OpenStreetMap tiles)

                              + +
                              + +
                              +

                              Google Maps API

                              +***TODO*** +
                              + +
                              +

                              Bing Maps Control API

                              +***TODO*** +
                              + +
                              +

                              MapKit JS (Apple Maps) API

                              +***TODO*** +
                              + +
                              +

                              Mapbox GL JS API

                              +***TODO*** +
                              +
                              +

                              D3 Geographies APIs

                              +***TODO*** +
                              diff --git a/examples/use-case-specify-data-source-map.html b/examples/specify-data-source-map.html similarity index 96% rename from examples/use-case-specify-data-source-map.html rename to examples/specify-data-source-map.html index bca9e69..da339eb 100644 --- a/examples/use-case-specify-data-source-map.html +++ b/examples/specify-data-source-map.html @@ -80,7 +80,7 @@

                              MapBox GL

                              + + +

                              Examples for + Use Case: Display a region of map data as a static image +

                              + +

                              +***Introduction*** +

                              + +
                              + Jump to section… + +
                              + +
                              +

                              Google Maps embed

                              + +***TODO*** +
                              + +
                              +

                              OpenStreetMap embed

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps embed

                              + +***TODO*** +
                              + +
                              +

                              MapBox Studio embed

                              + +***TODO*** +
                              + +
                              +

                              Leaflet.js (with OpenStreetMap tiles)

                              + +***TODO*** +
                              + +
                              +

                              OpenLayers with OpenStreetMap tiles

                              + +***TODO*** +
                              + +
                              +

                              Google Maps API

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps Control API

                              + +***TODO*** +
                              + +
                              +

                              MapKit JS (Apple Maps) API

                              + +***TODO*** +
                              + +
                              +

                              Mapbox GL JS API

                              + +***TODO*** +
                              + +
                              +

                              D3 Geographies APIs

                              + +***TODO*** +
                              + + diff --git a/examples/technical-drawings.html b/examples/technical-drawings.html new file mode 100644 index 0000000..59faf1a --- /dev/null +++ b/examples/technical-drawings.html @@ -0,0 +1,136 @@ + + + + + + + Non-geographic content in map viewers — Maps for HTML reference examples + + + + +

                              Examples for + Use Case: Display drawings or schematics without geographic coordinates +

                              + +

                              +***Introduction*** +

                              + +
                              + Jump to section… + +
                              + +
                              +

                              Google Maps embed

                              + +***TODO*** +
                              + +
                              +

                              OpenStreetMap embed

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps embed

                              + +***TODO*** +
                              + +
                              +

                              MapBox Studio embed

                              + +***TODO*** +
                              + +
                              +

                              Leaflet.js (with OpenStreetMap tiles)

                              + +***TODO*** +
                              + +
                              +

                              OpenLayers with OpenStreetMap tiles

                              + +***TODO*** +
                              + +
                              +

                              Google Maps API

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps Control API

                              + +***TODO*** +
                              + +
                              +

                              MapKit JS (Apple Maps) API

                              + +***TODO*** +
                              + +
                              +

                              Mapbox GL JS API

                              + +***TODO*** +
                              + +
                              +

                              D3 Geographies APIs

                              + +***TODO*** +
                              + + diff --git a/examples/use-case-allow-user-select-different-style-map.html b/examples/use-case-allow-user-select-different-style-map.html deleted file mode 100644 index 2cf73e0..0000000 --- a/examples/use-case-allow-user-select-different-style-map.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - Use Case - Client APIs - Allow the user to select a different style for a map - - - - - - -

                              Examples for - - Use Case: Allow the user to select a different style for a map - -

                              -
                              -

                              Leaflet.js with OpenStreetMap tiles

                              -
                              - - -
                              -
                              -

                              OpenLayers with OpenStreetMap tiles

                              -
                              - - -
                              -
                              -

                              MapBox GL

                              -
                              - - -
                              - - \ No newline at end of file diff --git a/examples/use-case-create-initialise-display-map.html b/examples/use-case-create-initialise-display-map.html deleted file mode 100644 index 68a1998..0000000 --- a/examples/use-case-create-initialise-display-map.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - Use Case - Client APIs - Create, initialise, and display a map - - - - - - -

                              Examples for - - Use Case: Create, initialise, and display a map - -

                              -
                              -

                              Leaflet.js with OpenStreetMap tiles

                              -
                              - - -
                              -
                              -

                              OpenLayers with OpenStreetMap tiles

                              -
                              - - -
                              -
                              -

                              MapBox GL

                              -
                              - - -
                              - - \ No newline at end of file diff --git a/examples/use-case-display-multiple-point-locations-single-map.html b/examples/use-case-display-multiple-point-locations-single-map.html deleted file mode 100644 index f67e65e..0000000 --- a/examples/use-case-display-multiple-point-locations-single-map.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - Use Case - Client APIs - Display multiple point locations on a single map - - - - - - -

                              Examples for - - Use Case: Display multiple point locations on a single map - -

                              -
                              -

                              Leaflet.js with OpenStreetMap tiles

                              -
                              - - -
                              -
                              -

                              OpenLayers with OpenStreetMap tiles

                              -
                              - - -
                              -
                              -

                              MapBox GL

                              -
                              - - -
                              - - \ No newline at end of file diff --git a/index.html b/index.html index c2c350e..e7bbae3 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ - +
                              @@ -218,4 +268,4 @@

                              D3 Geographies APIs

                              -->***
                              - \ No newline at end of file + diff --git a/examples/single-location.html b/examples/single-location.html index e0d9603..ec7b1ff 100644 --- a/examples/single-location.html +++ b/examples/single-location.html @@ -137,10 +137,27 @@

                              OpenLayers (with OpenStreetMap tiles)

                              Google Maps API

                              -***TODO*** +
                              + +
                              diff --git a/index.html b/index.html index beb3c3f..f2c3dc4 100644 --- a/index.html +++ b/index.html @@ -537,8 +537,8 @@ ] } ], - "publishISODate": "2019-08-11T00:00:00.000Z", - "generatedSubtitle": "Draft Community Group Report 11 August 2019" + "publishISODate": "2019-08-15T00:00:00.000Z", + "generatedSubtitle": "Draft Community Group Report 15 August 2019" }Use Cases and Requirements for Standardizing

                              Draft Community Group Report - +

                              @@ -1710,7 +1710,7 @@

                              examples of static map displays as implemented by the reference JavaScript tools.

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Required capabilities

                              @@ -2027,7 +2027,7 @@

                              3.2.5 Example to be expanded later: NLS old Ordnance Survey maps.

                              -

                              Discuss this section on GitHub.

                              +
                              Issue 115: Use case (website visitor): Show/hide map layers or feature sets discussion: use casestatus: editor's draft

                              Discuss this section on GitHub.

                              Required capabilities

                              @@ -2065,7 +2065,7 @@

                              -

                              Discuss this section on GitHub.

                              +
                              Issue 43: Use case: View a map in dark mode or high-contrast mode discussion: use casestatus: placeholder

                              Discuss this section on GitHub.

                              @@ -2169,7 +2169,7 @@

                              examples of providing feedback to a user as they manipulate the map as implemented by the reference JavaScript tools.

                              -

                              Discuss this section on GitHub.

                              +
                              Issue 80: Use Case: Provide feedback to a user as they manipulate the map discussion: use casestatus: editor's draft

                              Discuss this section on GitHub.

                              Required capabilities

                              @@ -2467,7 +2467,7 @@

                              4.3 as well as an interface to Bing's search services. API tokens are required; free and paid plans are available, with usage caps.

                              - +

                              Discuss this section on GitHub.

                              @@ -2499,7 +2499,7 @@

                              4.5 <

                              An API key is required, with cost based on usage.

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              @@ -2548,7 +2548,7 @@

                              4.8 TomTom Maps S Access to TomTom's map data and search APIs requires an account and API key; there is a daily quota of free transactions.

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              @@ -2561,7 +2561,7 @@

                              4.9 D3 Geographies AP D3 does not include code for a ready-made map viewer widget, but it is used for custom client-side mapping applications.

                              - +

                              Discuss this section on GitHub.

                              @@ -2672,6 +2672,7 @@

                              Existing implementationsopenstreetmap-embed
                              bing-maps-embed
                              mapbox-embed
                              +
                              tomtom-sdk
                              full support: this is the basic function for these widgets: give it a location, it will draw the map.
                              @@ -2739,6 +2740,7 @@
                              Existing implementationsgoogle-maps-api
                              leaflet-api
                              open-layers-api
                              +
                              tomtom-sdk
                              full support
                              @@ -2799,6 +2801,7 @@
                              Existing implementationsmapbox-embed
                              leaflet-api
                              open-layers-api
                              +
                              tomtom-sdk
                              full support
                              @@ -2871,6 +2874,7 @@
                              Existing implementationsgoogle-maps-embed
                              bing-maps-embed
                              mapbox-embed
                              +
                              tomtom-sdk
                              supported, with limitations: these tools offer options to serve a static image without JavaScript. However, this is not the default fallback behavior for the embeds @@ -2952,6 +2956,7 @@
                              Existing implementationsmapbox-embed
                              leaflet-api
                              open-layers-api
                              +
                              tomtom-sdk
                              full support: allows multiple user-specified pinpoint locations to be placed
                              openstreetmap-embed
                              @@ -3018,6 +3023,7 @@
                              Existing implementationsmapbox-embed
                              leaflet-api
                              open-layers-api
                              +
                              tomtom-sdk
                              full support: polygons and polylines can be added and have styling applied to them.
                              google-maps-embed
                              @@ -3078,6 +3084,7 @@
                              Existing implementationsgoogle-maps-api
                              leaflet-api
                              open-layers-api
                              +
                              tomtom-sdk
                              full support: map markers and vector features can have popups that contain custom HTML, allowing the map author to display hyperlinks within the popups.
                              @@ -3144,9 +3151,10 @@
                              Existing implementationsopen-layers-api
                              full support: (as described above)
                              -
                              mapbox-embeds
                              +
                              mapbox-embed
                              +
                              tomtom-sdk
                              supported, with limitations: attribution is automatically generated, - but it is hidden under a non-keyboard-accessible tooltip
                              +but it is not keyboard accessible.
                              @@ -3179,6 +3187,7 @@
                              Existing implementationsopenstreetmap-embed
                              leaflet-api
                              mapbox-embed
                              +
                              tomtom-sdk
                              full support: setting a location by latitude and longitude is straightforward.
                              @@ -3250,6 +3259,7 @@
                              Existing implementationsgoogle-maps-api
                              openstreetmap-embed
                              mapbox-embed
                              +
                              tomtom-sdk
                              full support: by default, these tools provide address search when setting up the map
                              leaflet-api
                              @@ -3289,7 +3299,7 @@

                              < or otherwise converting one map projection to another view, is a separate capability, discussed in § 5.3.4 Reproject map tile data into a new projection or globe view.

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              @@ -3300,6 +3310,8 @@

                              Existing implementationsProj4Leaflet to support other projections. +OpenLayers also relies on Proj4 +in order to support other projections.

                              google-maps-api
                              @@ -3312,6 +3324,7 @@
                              Existing implementationsno support: these embeds only support the Web Mercator projection. @@ -3360,7 +3373,7 @@

                              -
                              Issue 3: Capability: Render maps as a globe or other non-Mercator projection discussion: capabilitysection: map viewerstatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              @@ -3377,6 +3390,7 @@

                              Existing implementationsno support:

                              @@ -3439,6 +3453,7 @@
                              Existing implementationsno support: @@ -3477,6 +3492,7 @@
                              Existing implementationsfull support: (as described above)
                              mapbox-embed
                              @@ -3564,6 +3580,7 @@
                              Existing implementationssupported, with limitations: Mouse, touch, and keyboard panning are supported; no keyboard focus indication @@ -3674,6 +3691,7 @@
                              Existing implementationsfull support: @@ -3683,8 +3701,8 @@
                              Existing implementations5.4.4 Wrap/duplicate data tiles when panning around the globe

                              A web map is not subject to the same limitations of printed maps -and can be panned infinitely along the horizontal axis. -Tiles should be wrapped along the X axis +and can be panned infinitely along an axis. +Tiles should be wrapped along at least one axis in order to create a seamless panning experience.

                              Existing implementations
                              @@ -3702,6 +3720,7 @@
                              Existing implementationsfull support: (as describe above) @@ -3727,6 +3746,7 @@
                              Existing implementationsfull support: (as described above) @@ -3757,6 +3777,7 @@
                              Existing implementationsfull support: (as described above) @@ -3780,6 +3801,7 @@
                              Existing implementationsfull support: (as described above) @@ -3800,7 +3822,7 @@

                              -
                              Issue 15: Capability: Allow map authors to style content using CSS discussion: capabilitysection: map viewerstatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              @@ -3811,6 +3833,11 @@

                              Existing implementationsStyle Specification. +The TomTom SDK for Web accepts custom styles in the format of Mapbox's Style Specification. +

                              +

                              For the other reference tools, custom styles can be passed in as a JavaScript object on map initialization. There is significant overlap @@ -3822,6 +3849,7 @@

                              Existing implementationsfull support: (as described above) @@ -3880,6 +3908,7 @@
                              Existing implementationsExisting implementations
                              leaflet-api
                              open-layers-api
                              +
                              tomtom-sdk
                              full support
                              google-maps-api
                              supported, with limitations
                              @@ -3943,7 +3973,7 @@

                              -
                              Issue 16: Capability: Allow default and custom map furniture discussion: capabilitysection: map viewerstatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              @@ -3955,6 +3985,7 @@

                              Existing implementationsfull support: (as described above) @@ -4127,7 +4158,7 @@

                              6.1.3 Implem integrated closely with the map's own user interface, and is under the control of the map once it has ben added.

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              A custom control is a JavaScript object or a DOM element @@ -4250,7 +4281,7 @@

                              6.1.5 Remov

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4296,7 +4327,7 @@

                              6.1.6 Add a layer

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4346,7 +4377,7 @@

                              6.1.7 <

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4484,7 +4515,7 @@

                              6.1.10 Remov

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4532,7 +4563,7 @@

                              6.1.11 Displa

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4580,7 +4611,7 @@

                              6.1.12 Hide a la

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4674,7 +4705,7 @@

                              6.1.14

                              Description to follow

                              -
                              Issue 66: Capability: Determine the current style of a map discussion: capabilitysection: client-side APIstatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4724,7 +4755,7 @@

                              6.2.1 Get the b

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4770,7 +4801,7 @@

                              6.2.2 Pan

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4908,7 +4939,7 @@

                              6.2.5 Subs

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -4954,7 +4985,7 @@

                              6.2.6 Description to follow

                              -
                              Issue 71: Capability: Subscribe to marker selection events discussion: capabilitysection: client-side APIstatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -5000,7 +5031,7 @@

                              6.2.7 Chang

                              Description to follow

                              -

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Existing implementations

                              Existing implementation support: @@ -5367,7 +5398,7 @@

                              A. Open IssuesGithub.

                              - +

                              B. Acknowledgments

                              From 260a9e3175a5fde74969aa612a905b43bcb1876a Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Thu, 15 Aug 2019 20:18:51 +0000 Subject: [PATCH 24/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- index.html | 112 ++++++++++++++++++++++++++--------------------------- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/index.html b/index.html index f2c3dc4..0a13001 100644 --- a/index.html +++ b/index.html @@ -634,7 +634,7 @@

                              If that is not possible, send an email comment to public-maps4html@w3.org.

                              -

                              +

                              1. Introduction

                              @@ -1683,7 +1683,7 @@

                              3. See examples of single-location map viewers as implemented by the reference JavaScript tools.

                              -
                              Issue 33: Use case: Display a location on a map discussion: use casestatus: editor's draft

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Required capabilities

                              @@ -1849,7 +1849,7 @@

                              examples of multi-layer maps as implemented by the reference JavaScript tools.

                              -
                              Issue 11: Use Case: Layer together multiple map data sources discussion: use casestatus: placeholder

                              Discuss this section on GitHub.

                              +

                              Discuss this section on GitHub.

                              Required capabilities
                                @@ -1982,7 +1982,7 @@

                                3.2.3 basic single-location map views for the reference JavaScript tools.

                                -

                                Discuss this section on GitHub.

                                +
                                Issue 114: Use case (website visitor): rotate/reset map bearing discussion: use casestatus: editor's draft

                                Discuss this section on GitHub.

                                Required capabilities
                                  @@ -2010,7 +2010,7 @@

                                  -
                                  Issue 21: Use Case: Identify feature under the pointing device or other input method discussion: use casestatus: editor's draft

                                  Discuss this section on GitHub.

                                  +

                                  Discuss this section on GitHub.

                                  @@ -2027,7 +2027,7 @@

                                  3.2.5 Example to be expanded later: NLS old Ordnance Survey maps.

                                  -
                                  Issue 115: Use case (website visitor): Show/hide map layers or feature sets discussion: use casestatus: editor's draft

                                  Discuss this section on GitHub.

                                  +

                                  Discuss this section on GitHub.

                                  Required capabilities

                                  @@ -2467,7 +2467,7 @@

                                  4.3 as well as an interface to Bing's search services. API tokens are required; free and paid plans are available, with usage caps.

                                  -

                                  Discuss this section on GitHub.

                                  +

                                  @@ -2499,7 +2499,7 @@

                                  4.5 <

                                  An API key is required, with cost based on usage.

                                  -

                                  Discuss this section on GitHub.

                                  +

                                  Discuss this section on GitHub.

                                  @@ -2514,7 +2514,7 @@

                                  4.6 Leaflet.js API - +

                                  Discuss this section on GitHub.

                                  @@ -2561,7 +2561,7 @@

                                  4.9 D3 Geographies AP D3 does not include code for a ready-made map viewer widget, but it is used for custom client-side mapping applications.

                                  -

                                  Discuss this section on GitHub.

                                  +

                                  @@ -2601,7 +2601,7 @@

                                  Discuss this section on GitHub.

                                  +

                                  Discuss this section on GitHub.

                                  Existing implementations

                                  @@ -2853,7 +2853,7 @@

                                  5.1.5

                                  A natively-supported, declarative web map viewer would by definition have this capability.

                                  -

                                  Discuss this section on GitHub.

                                  +

                                  Discuss this section on GitHub.

                                  Existing implementations

                                  @@ -2931,7 +2931,7 @@

                                  -

                                  Discuss this section on GitHub.

                                  +

                                  Discuss this section on GitHub.

                                  Existing implementations

                                  @@ -3008,7 +3008,7 @@

                                  Discuss this section on GitHub.

                                  +

                                  Discuss this section on GitHub.

                                  Existing implementations

                                  @@ -3069,7 +3069,7 @@

                                @@ -2038,7 +2038,7 @@

                                Required capabilities

                                @@ -4405,9 +4405,22 @@
                                Conclusion

                                6.1.3 Implement a custom control

                                -A custom control is a user interface element that is -integrated closely with the map's own user interface, and is -under the control of the map once it has ben added. +Controls are user interface elements that enable interaction with the map. +Map implementations typically provide a number of default controls supporting interactions such as zooming +and switching layers. +

                                +

                                +A map implementation will typically provide the developer with various options for configuring controls. +This will include such capabilities as adding and removing controls, showing or hiding them, +and being notified of changes in their state. +It is also necessary to provide support for controlling the positioning of controls, +to avoid the situation where two controls occupy the same position on the map's UI. +

                                +

                                +Developers may wish to implement additional controls, either replacing the functionality of the map's default controls, +or adding new functionality. +Map implementations should provide APIs to support such custom controls, +allowing them to integrate fully with the map at a level that is on a par with the map's own controls.

                                Discuss this section on GitHub. @@ -4415,49 +4428,66 @@

                                6.1.3 Implem

                                Existing implementations

                                -A custom control is a JavaScript object or a DOM element -that satisfies the API's requirements for it to be -integrated with the map. -Those requirements vary across APIs. -Generally, it is expected that a single DOM element -containing whatever other elements constitute the control UI -will be provided by the control. -In some cases the DOM element is passed to the API directly; -in others, a JavaScript object is passed to the API, which -is required to implement a method that returns the control's -containing DOM element. -Styling of the elements within the control is the -responsibility of the implementor. -

                                -

                                -Assuming the API requirements are satisfied, the behaviour -and rendering of the control are then the responsibility of -the implementation. -Typically, a custom control will listen to events from the -DOM, or the map, or both. -In response to those events, it will then update the state -of the map, update its own representation, or both. +Support for controls varies widely among existing map implementations. +It is generally the developer's responsibility to create a suitable DOM construct, +styled with CSS and augmented with JavaScript to provide behaviour, for use as a control. +But though some implementations specify detailed APIs which controls should support +in order to be properly integrated with the map, others provide minimal support and expect the +developer to take full responsibility for responding to control lifecycle transitions.

                                -
                                google-maps-api
                                mapbox-gl-api
                                leaflet-api
                                open-layers-api
                                +
                                tomtom
                                full support: -These APIs all define requirements for a JavaScript object or DOM element -to be able to be used as a custom control. +

                                +All of these implementations fully support the concept of controls, +including support for control implementations to be notified when they are added to or removed from the map, +so they can update their own internal state accordingly. +They also allow controls to request their desired positioning within the map's UI, +and will position controls using sensible defaults if developers choose not to implement that capability. +

                                +

                                +MapBoxGL specifies an interface to which controls are expected to conform. +The map API provides methods for adding and removing controls to and from the map UI. +

                                +

                                +Leaflet, TomTom (which uses Leaflet), and OpenLayers provide base classes which controls extend, +along with map methods for adding and removing controls. +OpenLayers also exposes its control collection directly. +

                                -
                                bing-maps-api
                                -
                                apple-mapkit-js-api
                                +
                                google-maps-api
                                supported, with limitations: -Items having the form and behaviour of custom controls can -be implemented in the form of overlays, but there is no facility for -distinguishing such controls from other overlays. +

                                +While Google Maps supports the adding and removing of controls and the specifying of their placement +within a number of predefined areas within the map's UI, +there is no specific interface to which they are expected to conform. +

                                +
                                +
                                bing-maps-api
                                +
                                partial support: +

                                +Bing Maps expects controls to be implemented as a type of overlay. +It provides no particular support for controls beyond that, not even for positioning them within the map UI, +which is left to the developer to achieve using CSS positioning. +

                                +
                                apple-mapkit-js-api
                                +
                                no supporta>: +

                                +Apple MapkitJS does not provide an interface that can be implemented to create a custom control, +nor does it have any generic mechanism for adding and removing controls beyond those provided. +

                                d3-geographies-api
                                not applicable: +

                                +Although d3 supports a variety of user interactions, the concept of a user interface presenting a collection +of controls to the user is not part of the library. +

                                @@ -4466,7 +4496,9 @@
                                Supported use casesUses beyond mapping

                                -ToDo +As controls are explicitly intended as part of the map's user interface, +further uses for the concept might be found in other cases +where complex interactive content is presented by an element, such as adding controls to media containers.

                                @@ -4477,7 +4509,10 @@

                                -Based on the limited data, we are undecided about whether this should be a requirement. +It might seem that, as controls are implemented using existing interactive HTML elements, +there is no pressing need for them to be supported by additional APIs. +However, the need for them to be closely integrated with a map's own UI, state, and lifecycle +suggests that this functionality is a requirement for modern web maps.

                                @@ -1578,7 +1578,7 @@

                                Required capabilities

                                @@ -1610,8 +1610,8 @@

                                Required capabilities

                                @@ -1710,8 +1710,7 @@

                                Required capabilities

                                @@ -1745,8 +1744,7 @@
                                Required capabilities
                              • As a custom application feature:
                              @@ -1774,7 +1772,7 @@

                              3.2.3 Required capabilities

                              @@ -1827,8 +1825,8 @@
                              Required capabilities
                            • As a custom application feature:
                            • @@ -1999,8 +1997,6 @@

                              3.3.1 Add

                              Required capabilities
                              @@ -2038,7 +2034,7 @@

                              Required capabilities

                              @@ -2069,9 +2065,9 @@

                              Required capabilities

                              @@ -2098,8 +2094,8 @@

                              3.
                              Required capabilities
                              @@ -2127,7 +2123,7 @@

                              3.3.5 Chang

                              Required capabilities
                              @@ -2179,8 +2175,8 @@

                              3.3.7
                              Required capabilities
                              @@ -2208,8 +2204,8 @@

                              Required capabilities

                              @@ -4517,131 +4513,6 @@
                              Conclusion -
                            • - -
                            • - - - -
                              -

                              6.1.4 Add a control to a map

                              -

                              -Description to follow -

                              -

                              -Discuss this section on GitHub. -

                              - -
                              Existing implementations
                              -

                              -Existing implementation support: -

                              -
                              - -
                              google-maps-api
                              -
                              bing-maps-api
                              -
                              apple-mapkit-js-api
                              -
                              mapbox-gl-api
                              -
                              leaflet-api
                              -
                              open-layers-api
                              -
                              tomtom
                              -
                              d3-geographies-api
                              -
                              -

                              full support: -Google, Bing, MapKit and TomTom allow straightforward creation of a map -with configuration options. -

                              -

                              -Leaflet, OpenLayers, and MapBox require explicit construction of objects defining the map layers -and viewport, with sensible defaults for creation of, for example, a map showing OpenStreetMap tiles -in a standard World Geodetic System 1984 projection. -This provides added flexibility, at the expense of increasing the complexity of code that uses these libraries. -

                              -
                              -
                              - -
                              Supported use cases
                              - - -
                              Uses beyond mapping
                              -

                              -Leaflet, OpenLayers, and MapBox allow for the creation of layers displaying non-geographical imagery. -

                              - - -

                              -HTML specifies a number of aspects of elements -that embed media in a web page and expose JavaScript APIs to enable interaction and dynamic configuration. -

                              -

                              -The DOM provides interfaces for creating -HTML elements, which are what these implementations are using under the hood. - -

                              -

                              -DOM Standard HTML Standard -

                              - -
                              Conclusion
                              - -

                              -Based on the limited data, we are undecided about whether this should be a requirement. -

                              -
                                - -
                              • - -
                              • -
                              -
                              - -
                              -

                              6.1.5 Remove a control from a map

                              -

                              -Description to follow -

                              -

                              -Discuss this section on GitHub. -

                              - -
                              Existing implementations
                              -

                              -Existing implementation support: -

                              -
                              - -
                              google-maps-api
                              -
                              bing-maps-api
                              -
                              apple-mapkit-js-api
                              -
                              mapbox-gl-api
                              -
                              leaflet-api
                              -
                              open-layers-api
                              -
                              d3-geographies-api
                              -
                              full support: - -
                              -
                              - -
                              Supported use cases
                              - - -
                              Uses beyond mapping
                              -

                              -ToDo -

                              - - -

                              - -

                              - -
                              Conclusion
                              - -

                              -Based on the limited data, we are undecided about whether this should be a requirement. -

                              -

                              B. Acknowledgments

                              From 67e8a153405d908a53cc363f365fe320d47ad2e9 Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Sun, 20 Sep 2020 22:51:28 +0000 Subject: [PATCH 65/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- index.html | 10 +++++----- w3c.json | 4 ++++ 2 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 w3c.json diff --git a/index.html b/index.html index 94f4228..a7077f1 100644 --- a/index.html +++ b/index.html @@ -169,15 +169,15 @@ ] } ], - "publishISODate": "2020-07-01T00:00:00.000Z", - "generatedSubtitle": "Draft Community Group Report 01 July 2020" + "publishISODate": "2020-09-20T00:00:00.000Z", + "generatedSubtitle": "Draft Community Group Report 20 September 2020" }

                              Use Cases and Requirements for Standardizing Web Maps

                              Draft Community Group Report - +

                              @@ -4998,7 +4998,7 @@

                              6.2.2 Pan,

                              Description to follow

                              -

                              +

                              Discuss this section on GitHub.

                              @@ -5547,7 +5547,7 @@

                              A. Open IssuesGithub.

                              -
                              • Issue 77: Use Case: Display an interactive map within a web page
                              • Issue 33: Use case: Display a location on a map
                              • Issue 17: Use Case: Static maps
                              • Issue 78: Use Case: Display multiple point locations on a single map
                              • Issue 36: Use case: Display regions & routes
                              • Issue 37: Use case: Custom HTML annotations
                              • Issue 38: Use Case: Map coverages or custom image tiles
                              • Issue 11: Use Case: Layer together multiple map data sources
                              • Issue 81: Use Case: Provide alternative map layers which the user can select
                              • Issue 1: Use case: Technical drawings (panning, zooming, layers, etc.)
                              • Issue 182: Use Case (content author): Include animated spatial data in a layer
                              • Issue 180: Use case (author / website visitor): Require interaction before allowing pan/zoom
                              • Issue 39: Use case: User-controlled pan & zoom
                              • Issue 83: Use Case: Allow a user to reset the map to their starting point
                              • Issue 114: Use case (website visitor): rotate/reset map bearing
                              • Issue 21: Use case: Access additional information about a point on the map
                              • Issue 115: Use case (website visitor): Show/hide map layers or feature sets
                              • Issue 41: Use Case: Bookmark/export a location
                              • Issue 42: Use case: search within a set of map features
                              • Issue 43: Use case: View a map in dark mode or high-contrast mode
                              • Issue 75: Use Case (website visitor): View your current location on the map, without sharing with the website
                              • Issue 109: Use case (end-user): View a map in fullscreen mode
                              • Issue 107: Use case (end-user): View a map as a Picture-In-Picture media object
                              • Issue 135: Use case (website visitor): View a map in Augmented Reality
                              • Issue 123: Use Case: Offline maps
                              • Issue 79: Use Case: Add a custom control to a map
                              • Issue 80: Use Case: Provide feedback to a user as they manipulate the map
                              • Issue 116: Use case (developer): Set map position & zoom level
                              • Issue 117: Use case (developer): animate a transition to a new view/zoom
                              • Issue 84: Use Case: Change the bearing of a map
                              • Issue 82: Use Case: Allow the user to control the layer displayed by a map
                              • Issue 118: Use case (developer): Generate new vector features from data
                              • Issue 119: Use case: Create heatmap layer from point data
                              • Issue 106: Use case (developer): support drag & drop map layers
                              • Issue 25: Tools: Usage data
                              • Issue 23: Tool: Best examples based on custom elements?
                              • Issue 9: Tool: Google maps api
                              • Issue 26: Tool: OpenStreetMap embed
                              • Issue 27: Tool: Bing maps
                              • Issue 28: Tool: MapKit JS (Apple maps)
                              • Issue 12: Tool: Mapbox (GL JS API)
                              • Issue 29: Tool: Leaflet.js
                              • Issue 30: Tool: OpenLayers API
                              • Issue 49: Tool: TomTom
                              • Issue 13: Tool: D3 maps
                              • Issue 137: Capability: Embed an interactive map viewer, using HTML markup
                              • Issue 8: Capability: Default map provider
                              • Issue 138: Capability: Display an image file as a map layer
                              • Issue 139: Capability: Display a map using tile data from an author-specified web map service
                              • Issue 32: Capability: JS independence
                              • Issue 136: Capability: Display map content in a users preferred language
                              • Issue 140: Capability: Show pinpoint locations or custom markers on the map
                              • Issue 141: Capability: Draw polygons or polylines as stylable, interactive vector graphics (separate from the image tiles)
                              • Issue 142: Capability: Support hyperlinks from markers or vector features
                              • Issue 143: Capability: Display map data attribution and links
                              • Issue 144: Capability: Select map view from latitude and longitude point
                              • Issue 145: Capability: Select map view from street address or place name
                              • Issue 14: Capability: Display map tiles defined in various common coordinate systems
                              • Issue 3: Capability: Reproject map tile data into a new projection or globe view
                              • Issue 146: Capability: Save the location or export to other application
                              • Issue 147: Capability: Zoom the map independently from the rest of the page
                              • Issue 148: Capability: Pan the map display
                              • Issue 149: Capability: Load additional map tiles when they pan into view
                              • Issue 150: Capability: Wrap/duplicate data tiles when panning around the globe
                              • Issue 151: Capability: Maintain reasonable scale of labels and lines when zooming
                              • Issue 152: Capability: Dynamically load different resolution map tile on zoom
                              • Issue 153: Capability: Hide or show (and maybe dynamically load) vector features and labels on zoom
                              • Issue 15: Capability: Apply custom styling to map markers and vector features
                              • Issue 154: Capability: Apply custom styling to map controls
                              • Issue 16: Capability: Toggle whether default controls are displayed
                              • Issue 55: Capability: Create, initialise, and display a map
                              • Issue 56: Capability: Add a marker or multiple markers to a map
                              • Issue 57: Capability: Implement a custom control
                              • Issue 61: Capability: Add a layer to a map
                              • Issue 74: Capability: Define a data source for a tile layer
                              • Issue 155: Capability: Create an overlay defined by vector data
                              • Issue 156: Capability: Create an overlay defined by heatmap data
                              • Issue 63: Capability: Control which layers are included in a map
                              • Issue 65: Capability: Specify the style of a map
                              • Issue 66: Capability: Determine the current style of a map
                              • Issue 60: Capability: Get the bounds of a map
                              • Issue 67: Capability: Pan a map or re-centre a map
                              • Issue 69: Capability: Subscribe to map events
                              • Issue 72: Capability: Change the bearing of a map
                              • Issue 157: Capability: Move the map to display a given location
                              • Issue 158: Capability: Pan and zoom a map so as to completely show the area covered by a given bounding box
                              • Issue 159: Capability: Animate the re-centering of the map view
                              • Issue 160: Capability: Animate the zooming of the map
                              • Issue 161: Capability: Animate the re-centering of the map

                              +
                              • Issue 77: Use Case: Display an interactive map within a web page
                              • Issue 33: Use case: Display a location on a map
                              • Issue 17: Use Case: Static maps
                              • Issue 78: Use Case: Display multiple point locations on a single map
                              • Issue 36: Use case: Display regions & routes
                              • Issue 37: Use case: Custom HTML annotations
                              • Issue 38: Use Case: Map coverages or custom image tiles
                              • Issue 11: Use Case: Layer together multiple map data sources
                              • Issue 81: Use Case: Provide alternative map layers which the user can select
                              • Issue 1: Use case: Technical drawings (panning, zooming, layers, etc.)
                              • Issue 182: Use Case (content author): Include animated spatial data in a layer
                              • Issue 180: Use case (author / website visitor): Require interaction before allowing pan/zoom
                              • Issue 39: Use case: User-controlled pan & zoom
                              • Issue 83: Use Case: Allow a user to reset the map to their starting point
                              • Issue 114: Use case (website visitor): rotate/reset map bearing
                              • Issue 21: Use case: Access additional information about a point on the map
                              • Issue 115: Use case (website visitor): Show/hide map layers or feature sets
                              • Issue 41: Use Case: Bookmark/export a location
                              • Issue 42: Use case: search within a set of map features
                              • Issue 43: Use case: View a map in dark mode or high-contrast mode
                              • Issue 75: Use Case (website visitor): View your current location on the map, without sharing with the website
                              • Issue 109: Use case (end-user): View a map in fullscreen mode
                              • Issue 107: Use case (end-user): View a map as a Picture-In-Picture media object
                              • Issue 135: Use case (website visitor): View a map in Augmented Reality
                              • Issue 123: Use Case: Offline maps
                              • Issue 79: Use Case: Add a custom control to a map
                              • Issue 80: Use Case: Provide feedback to a user as they manipulate the map
                              • Issue 116: Use case (developer): Set map position & zoom level
                              • Issue 117: Use case (developer): animate a transition to a new view/zoom
                              • Issue 84: Use Case: Change the bearing of a map
                              • Issue 82: Use Case: Allow the user to control the layer displayed by a map
                              • Issue 118: Use case (developer): Generate new vector features from data
                              • Issue 119: Use case: Create heatmap layer from point data
                              • Issue 106: Use case (developer): support drag & drop map layers
                              • Issue 25: Tools: Usage data
                              • Issue 23: Tool: Best examples based on custom elements?
                              • Issue 9: Tool: Google maps api
                              • Issue 26: Tool: OpenStreetMap embed
                              • Issue 27: Tool: Bing maps
                              • Issue 28: Tool: MapKit JS (Apple maps)
                              • Issue 12: Tool: Mapbox (GL JS API)
                              • Issue 29: Tool: Leaflet.js
                              • Issue 30: Tool: OpenLayers API
                              • Issue 49: Tool: TomTom
                              • Issue 13: Tool: D3 maps
                              • Issue 137: Capability: Embed an interactive map viewer, using HTML markup
                              • Issue 8: Capability: Default map provider
                              • Issue 138: Capability: Display an image file as a map layer
                              • Issue 139: Capability: Display a map using tile data from an author-specified web map service
                              • Issue 32: Capability: JS independence
                              • Issue 136: Capability: Display map content in a users preferred language
                              • Issue 140: Capability: Show pinpoint locations or custom markers on the map
                              • Issue 141: Capability: Draw polygons or polylines as stylable, interactive vector graphics (separate from the image tiles)
                              • Issue 142: Capability: Support hyperlinks from markers or vector features
                              • Issue 143: Capability: Display map data attribution and links
                              • Issue 144: Capability: Select map view from latitude and longitude point
                              • Issue 145: Capability: Select map view from street address or place name
                              • Issue 14: Capability: Display map tiles defined in various common coordinate systems
                              • Issue 3: Capability: Reproject map tile data into a new projection or globe view
                              • Issue 146: Capability: Save the location or export to other application
                              • Issue 147: Capability: Zoom the map independently from the rest of the page
                              • Issue 148: Capability: Pan the map display
                              • Issue 149: Capability: Load additional map tiles when they pan into view
                              • Issue 150: Capability: Wrap/duplicate data tiles when panning around the globe
                              • Issue 151: Capability: Maintain reasonable scale of labels and lines when zooming
                              • Issue 152: Capability: Dynamically load different resolution map tile on zoom
                              • Issue 153: Capability: Hide or show (and maybe dynamically load) vector features and labels on zoom
                              • Issue 15: Capability: Apply custom styling to map markers and vector features
                              • Issue 154: Capability: Apply custom styling to map controls
                              • Issue 16: Capability: Toggle whether default controls are displayed
                              • Issue 55: Capability: Create, initialise, and display a map
                              • Issue 56: Capability: Add a marker or multiple markers to a map
                              • Issue 57: Capability: Implement a custom control
                              • Issue 61: Capability: Add a layer to a map
                              • Issue 74: Capability: Define a data source for a tile layer
                              • Issue 155: Capability: Create an overlay defined by vector data
                              • Issue 156: Capability: Create an overlay defined by heatmap data
                              • Issue 63: Capability: Control which layers are included in a map
                              • Issue 65: Capability: Specify the style of a map
                              • Issue 66: Capability: Determine the current style of a map
                              • Issue 60: Capability: Get the bounds of a map
                              • Issue 67: Capability: Pan, zoom, or re-centre a map
                              • Issue 69: Capability: Subscribe to map events
                              • Issue 72: Capability: Change the bearing of a map
                              • Issue 157: Capability: Move the map to display a given location
                              • Issue 158: Capability: Pan and zoom a map so as to completely show the area covered by a given bounding box
                              • Issue 159: Capability: Animate the re-centering of the map view
                              • Issue 160: Capability: Animate the zooming of the map
                              • Issue 161: Capability: Animate the re-centering of the map

                              B. Acknowledgments

                              diff --git a/w3c.json b/w3c.json new file mode 100644 index 0000000..5617d00 --- /dev/null +++ b/w3c.json @@ -0,0 +1,4 @@ +{ + "contacts": ["AmeliaBR", "prushforth"], + "repo-type": "cg-report" +} \ No newline at end of file From 93a38aab113b2395c31ce767df8dd68793e9b3a8 Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Sun, 20 Sep 2020 22:51:48 +0000 Subject: [PATCH 66/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- index.html | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index a7077f1..2699a7f 100644 --- a/index.html +++ b/index.html @@ -98,6 +98,9 @@ { "name": "Nick Fitzsimons" }, + { + "name": "Robert Linder" + }, { "name": "Peter Rushforth" } @@ -192,7 +195,7 @@

                              Authors: -
                              Amelia Bellamy-Royds
                              Nic Chan
                              Nick Fitzsimons
                              Peter Rushforth
                              +
                              Amelia Bellamy-Royds
                              Nic Chan
                              Nick Fitzsimons
                              Robert Linder
                              Peter Rushforth
                              Participate:
                              GitHub Maps4HTML/HTML-Map-Element-UseCases-Requirements
                              From cc8c596d423d671338b80cbbcb33332e6e7a40bd Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Sun, 20 Sep 2020 22:53:29 +0000 Subject: [PATCH 67/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- index.html | 54 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 8 deletions(-) diff --git a/index.html b/index.html index 2699a7f..015a490 100644 --- a/index.html +++ b/index.html @@ -4999,7 +4999,22 @@
                              Conclusion

                              6.2.2 Pan, zoom, or re-centre a map

                              -Description to follow +Developers expect to be able to control a map by changing its centre and/or zoom level, +and may also wish to support the capability of resetting a map to its view as originally presented. +If the map view cannot be dynamically modified by an application, +as opposed to changes by direct user interaction with the map, +then it offers fewer advantages over a static map view. +

                              +

                              +It is usually also desirable that such changes can be accomplished in a manner that gives sufficient +visual feedback to the user that a change is occurring, +for example by animating the transition rather than simply redrawing the map with the new view, +which may not be immediately noticeable to the user. +

                              +

                              +Accessibility is an important consideration when the state of a map is altered dynamically. +Thought should be given to how the change can be made known to assistive technologies so that the user +is fully informed and thus cognisant of the current state of the map at all times.

                              Discuss this section on GitHub. @@ -5007,7 +5022,8 @@

                              6.2.2 Pan,

                              Existing implementations

                              -Existing implementation support: +All the reviewed JavaScript API implementations support changing the bounds, centre, and zoom level of a map, +and allow such transitions to be animated.

                              @@ -5018,8 +5034,12 @@
                              Existing implementationsnot applicable: +
                              full support: +

                              +Animated transitions are supported by calling specific methods with names such as flyTo +or via a Boolean parameter to a more general method such as setView. +

                              @@ -5028,23 +5048,41 @@
                              Supported use casesUses beyond mapping

                              -ToDo +This capability would be relevant to use of web map technology for the display of non-geographic imagery, +such as navigating the view to relevant parts of a complex diagram as the user progresses through related content.

                              + +[css-overflow] Consider adding new CSS primitive for per-element panning and zooming (for web maps) #5275 +

                              Conclusion

                              -Based on the limited data, we are undecided about whether this should be a requirement. +As this is capability is required for any dynamic update of a map view such as would be expected of a map-based application, +it is a requirement for embedded web maps.

                                -
                              • - +
                              • Privacy: potential improvement +As there is the potential for third-party scripts to observe the panning and zooming of a map, +there is a risk with current implementations of this feature exposing an individual's or corporation's +interest in particular locations. +This risk would be mitigated with appropriate browser-level security. +
                              • +
                              • Accessibility: potential improvement +Current implementations can only represent changes in the map state in a semantically meaningful form +to a limited degree via such mechanisms as live regions. +A browser implementation would be better able to provide meaningful representations of such changes to assistive +technologies. +
                              • +
                              • Performance: potential optimization +As current implementations rely on extensive manipulation of DOM nodes to achieve these effects, +it is probable that a native implementation would be much more efficient.

                              @@ -5572,7 +5610,7 @@

                              C.1 Informative references

                              -
                              [API-DESIGN-PRINCIPLES]
                              Web Platform Design Principles. Sangwhan Moon. 4 June 2020. URL: https://w3ctag.github.io/design-principles/
                              [ATAG20]
                              Authoring Tool Accessibility Guidelines (ATAG) 2.0. Jan Richards; Jeanne F Spellman; Jutta Treviranus. W3C. 24 September 2015. W3C Recommendation. URL: https://www.w3.org/TR/ATAG20/
                              [css-transforms-1]
                              CSS Transforms Module Level 1. Simon Fraser; Dean Jackson; Theresa O'Connor; Dirk Schulze. W3C. 14 February 2019. W3C Candidate Recommendation. URL: https://www.w3.org/TR/css-transforms-1/
                              [DOM]
                              DOM Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://dom.spec.whatwg.org/
                              [EXTENSIBLE]
                              The Extensible Web Manifesto. 10 June 2013. URL: https://extensiblewebmanifesto.org/
                              [FAST]
                              Framework for Accessible Specification of Technologies. W3C Accessible Platform Architectures Working Group (APA WG). URL: https://w3c.github.io/apa/fast/
                              [fullscreen]
                              Fullscreen API Standard. Philip Jägenstedt. WHATWG. Living Standard. URL: https://fullscreen.spec.whatwg.org/
                              [geolocation-API]
                              Geolocation API Specification 2nd Edition. Andrei Popescu. W3C. 8 November 2016. W3C Recommendation. URL: https://www.w3.org/TR/geolocation-API/
                              [GEOLOCATION-PRIVACY]
                              Privacy of Geolocation Implementations. Marcos Cáceres. 12 July 2010. URL: https://www.w3.org/2010/api-privacy-ws/papers/privacy-ws-21.pdf
                              [geolocation-sensor]
                              Geolocation Sensor. Anssi Kostiainen; Thomas Steiner. W3C. 19 December 2018. W3C Working Draft. URL: https://www.w3.org/TR/geolocation-sensor/
                              [HTML]
                              HTML Standard. Anne van Kesteren; Domenic Denicola; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
                              [html-design-principles]
                              HTML Design Principles. Anne van Kesteren; Maciej Stachowiak. W3C. 26 November 2007. W3C Working Draft. URL: https://www.w3.org/TR/html-design-principles/
                              [HTML-map-element]
                              The HTML map Element proposal. Maps for HTML Community Group. URL: https://maps4html.github.io/HTML-Map-Element/spec/
                              [international-specs]
                              Internationalization Best Practices for Spec Developers. Marcos Caceres. W3C. 29 May 2020. W3C Working Draft. URL: https://www.w3.org/TR/international-specs/
                              [MapML]
                              Map Markup Language. Maps for HTML Community Group. URL: https://maps4html.github.io/MapML/spec/
                              [media-accessibility-reqs]
                              Media Accessibility User Requirements. Shane McCarron; Michael Cooper; Mark Sadecki. W3C. 3 December 2015. W3C Note. URL: https://www.w3.org/TR/media-accessibility-reqs/
                              [media-frags]
                              Media Fragments URI 1.0 (basic). Raphaël Troncy; Erik Mannens; Silvia Pfeiffer; Davy Van Deursen. W3C. 25 September 2012. W3C Recommendation. URL: https://www.w3.org/TR/media-frags/
                              [Microdata]
                              HTML Microdata. Charles 'chaals' (McCathie) Nevile; Dan Brickley; Ian Hickson. W3C. 26 April 2018. W3C Working Draft. URL: https://www.w3.org/TR/microdata/
                              [personalization-semantics-requirements-1.0]
                              Requirements for Personalization Semantics. Lisa Seeman-Kestenbaum; Charles LaPierre; Michael Cooper; Ruoxi Ran. W3C. 30 January 2020. W3C Working Draft. URL: https://www.w3.org/TR/personalization-semantics-requirements-1.0/
                              [picture-in-picture]
                              Picture-in-Picture. Francois Beaufort; Mounir Lamouri. W3C. 30 January 2020. W3C Working Draft. URL: https://www.w3.org/TR/picture-in-picture/
                              [rfc7946]
                              The GeoJSON Format. H. Butler; M. Daly; A. Doyle; S. Gillies; S. Hagen; T. Schaub. IETF. August 2016. Proposed Standard. URL: https://tools.ietf.org/html/rfc7946
                              [security-privacy-questionnaire]
                              Self-Review Questionnaire: Security and Privacy. Theresa O'Connor; Peter Snyder. W3C. 8 May 2020. W3C Note. URL: https://www.w3.org/TR/security-privacy-questionnaire/
                              [SVG]
                              Scalable Vector Graphics (SVG) 1.0 Specification. Jon Ferraiolo. W3C. 4 September 2001. W3C Recommendation. URL: https://www.w3.org/TR/SVG/
                              [SVG2]
                              Scalable Vector Graphics (SVG) 2. Amelia Bellamy-Royds; Bogdan Brinza; Chris Lilley; Dirk Schulze; David Storey; Eric Willigers. W3C. 4 October 2018. W3C Candidate Recommendation. URL: https://www.w3.org/TR/SVG2/
                              [UAAG20]
                              User Agent Accessibility Guidelines (UAAG) 2.0. James Allan; Greg Lowney; Kimberly Patch; Jeanne F Spellman. W3C. 15 December 2015. W3C Note. URL: https://www.w3.org/TR/UAAG20/
                              [WCAG21]
                              Web Content Accessibility Guidelines (WCAG) 2.1. Andrew Kirkpatrick; Joshue O Connor; Alastair Campbell; Michael Cooper. W3C. 5 June 2018. W3C Recommendation. URL: https://www.w3.org/TR/WCAG21/
                              [webcomponents-design-guidelines]
                              Guidelines for creating web platform compatible components. W3C TAG. URL: https://www.w3.org/2001/tag/doc/webcomponents-design-guidelines/
                              [WGS84]
                              World Geodetic System 1984. US National Imagery and Mapping Agency. URL: http://earth-info.nga.mil/GandG/publications/tr8350.2/wgs84fin.pdf
                              +
                              [API-DESIGN-PRINCIPLES]
                              Web Platform Design Principles. Sangwhan Moon. 4 June 2020. URL: https://w3ctag.github.io/design-principles/
                              [ARIA]
                              Reference not found.
                              [ATAG20]
                              Authoring Tool Accessibility Guidelines (ATAG) 2.0. Jan Richards; Jeanne F Spellman; Jutta Treviranus. W3C. 24 September 2015. W3C Recommendation. URL: https://www.w3.org/TR/ATAG20/
                              [css-transforms-1]
                              CSS Transforms Module Level 1. Simon Fraser; Dean Jackson; Theresa O'Connor; Dirk Schulze. W3C. 14 February 2019. W3C Candidate Recommendation. URL: https://www.w3.org/TR/css-transforms-1/
                              [DOM]
                              DOM Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://dom.spec.whatwg.org/
                              [EXTENSIBLE]
                              The Extensible Web Manifesto. 10 June 2013. URL: https://extensiblewebmanifesto.org/
                              [FAST]
                              Framework for Accessible Specification of Technologies. W3C Accessible Platform Architectures Working Group (APA WG). URL: https://w3c.github.io/apa/fast/
                              [fullscreen]
                              Fullscreen API Standard. Philip Jägenstedt. WHATWG. Living Standard. URL: https://fullscreen.spec.whatwg.org/
                              [geolocation-API]
                              Geolocation API Specification 2nd Edition. Andrei Popescu. W3C. 8 November 2016. W3C Recommendation. URL: https://www.w3.org/TR/geolocation-API/
                              [GEOLOCATION-PRIVACY]
                              Privacy of Geolocation Implementations. Marcos Cáceres. 12 July 2010. URL: https://www.w3.org/2010/api-privacy-ws/papers/privacy-ws-21.pdf
                              [geolocation-sensor]
                              Geolocation Sensor. Anssi Kostiainen; Thomas Steiner. W3C. 19 December 2018. W3C Working Draft. URL: https://www.w3.org/TR/geolocation-sensor/
                              [HTML]
                              HTML Standard. Anne van Kesteren; Domenic Denicola; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
                              [html-design-principles]
                              HTML Design Principles. Anne van Kesteren; Maciej Stachowiak. W3C. 26 November 2007. W3C Working Draft. URL: https://www.w3.org/TR/html-design-principles/
                              [HTML-map-element]
                              The HTML map Element proposal. Maps for HTML Community Group. URL: https://maps4html.github.io/HTML-Map-Element/spec/
                              [international-specs]
                              Internationalization Best Practices for Spec Developers. Marcos Caceres. W3C. 29 May 2020. W3C Working Draft. URL: https://www.w3.org/TR/international-specs/
                              [MapML]
                              Map Markup Language. Maps for HTML Community Group. URL: https://maps4html.github.io/MapML/spec/
                              [media-accessibility-reqs]
                              Media Accessibility User Requirements. Shane McCarron; Michael Cooper; Mark Sadecki. W3C. 3 December 2015. W3C Note. URL: https://www.w3.org/TR/media-accessibility-reqs/
                              [media-frags]
                              Media Fragments URI 1.0 (basic). Raphaël Troncy; Erik Mannens; Silvia Pfeiffer; Davy Van Deursen. W3C. 25 September 2012. W3C Recommendation. URL: https://www.w3.org/TR/media-frags/
                              [Microdata]
                              HTML Microdata. Charles 'chaals' (McCathie) Nevile; Dan Brickley; Ian Hickson. W3C. 26 April 2018. W3C Working Draft. URL: https://www.w3.org/TR/microdata/
                              [personalization-semantics-requirements-1.0]
                              Requirements for Personalization Semantics. Lisa Seeman-Kestenbaum; Charles LaPierre; Michael Cooper; Ruoxi Ran. W3C. 30 January 2020. W3C Working Draft. URL: https://www.w3.org/TR/personalization-semantics-requirements-1.0/
                              [picture-in-picture]
                              Picture-in-Picture. Francois Beaufort; Mounir Lamouri. W3C. 30 January 2020. W3C Working Draft. URL: https://www.w3.org/TR/picture-in-picture/
                              [rfc7946]
                              The GeoJSON Format. H. Butler; M. Daly; A. Doyle; S. Gillies; S. Hagen; T. Schaub. IETF. August 2016. Proposed Standard. URL: https://tools.ietf.org/html/rfc7946
                              [security-privacy-questionnaire]
                              Self-Review Questionnaire: Security and Privacy. Theresa O'Connor; Peter Snyder. W3C. 8 May 2020. W3C Note. URL: https://www.w3.org/TR/security-privacy-questionnaire/
                              [SVG]
                              Scalable Vector Graphics (SVG) 1.0 Specification. Jon Ferraiolo. W3C. 4 September 2001. W3C Recommendation. URL: https://www.w3.org/TR/SVG/
                              [SVG2]
                              Scalable Vector Graphics (SVG) 2. Amelia Bellamy-Royds; Bogdan Brinza; Chris Lilley; Dirk Schulze; David Storey; Eric Willigers. W3C. 4 October 2018. W3C Candidate Recommendation. URL: https://www.w3.org/TR/SVG2/
                              [UAAG20]
                              User Agent Accessibility Guidelines (UAAG) 2.0. James Allan; Greg Lowney; Kimberly Patch; Jeanne F Spellman. W3C. 15 December 2015. W3C Note. URL: https://www.w3.org/TR/UAAG20/
                              [WCAG21]
                              Web Content Accessibility Guidelines (WCAG) 2.1. Andrew Kirkpatrick; Joshue O Connor; Alastair Campbell; Michael Cooper. W3C. 5 June 2018. W3C Recommendation. URL: https://www.w3.org/TR/WCAG21/
                              [webcomponents-design-guidelines]
                              Guidelines for creating web platform compatible components. W3C TAG. URL: https://www.w3.org/2001/tag/doc/webcomponents-design-guidelines/
                              [WGS84]
                              World Geodetic System 1984. US National Imagery and Mapping Agency. URL: http://earth-info.nga.mil/GandG/publications/tr8350.2/wgs84fin.pdf
                              \ No newline at end of file From 3d36833d17b01b59fccac9134af16481e1bd7c88 Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Sun, 20 Sep 2020 22:53:55 +0000 Subject: [PATCH 68/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 015a490..f31084d 100644 --- a/index.html +++ b/index.html @@ -2068,7 +2068,7 @@

                              Required capabilities

                              @@ -5044,7 +5044,7 @@
                              Existing implementationsSupported use cases
                              - +
                              Uses beyond mapping

                              From 83cedcb133fc67120b234372be4445f212d4a01f Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Sun, 20 Sep 2020 22:55:16 +0000 Subject: [PATCH 69/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- index.html | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index f31084d..6a164d4 100644 --- a/index.html +++ b/index.html @@ -4309,8 +4309,34 @@

                              Conclusion -
                            • - +
                            • Accessibility: potential improvement +A native implementation would be better able to incorporate a semantically meaningful representation of a map +into its accessibility tree than current implementations, +which depend on the accessibility features of more general native elements in conjunction with [ARIA]. +
                            • +
                            • Performance: potential optimization +A native implementation would be more efficient in avoiding the need to download code, +in code execution, +and potentially in avoiding the necessity of creating complex DOM structures to build the map's representation. +
                            • +
                            • Author experience: simple defaults +At present, authors need to decide on an implementation to use and to learn how to use it. +They may then be unwilling to switch to an alternative implementation +for applications in which it would be more suitable. +Knowledge of and experience with a standardised native implementation would be more widely applicable. +
                            • +
                            • Author maintainability: cost savings +Although there are free implementations available, +many authors make use of paid implementations whether through inertia or the desire for a paid support route. +A native implementation would reduce the operating costs of paid map implementation providers, +though they could continue to charge for other services such as tile servers and support, +and those savings could (in an ideal world) be passed on to their customers. +
                            • +
                            • Consistency: fallbacks possible +Existing implementations fail if JavaScript is disabled in the user's browser, +or if connectivity failure prevents the necessary scripts being downloaded. +A native implementation would be able to at least display an initial view of a map under such conditions, +even if further enhancements intended by the author failed to be applied.
                            • From cd0d7d566bceea6737dc6a43d3524260e0784e65 Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Sun, 20 Sep 2020 22:57:34 +0000 Subject: [PATCH 70/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- index.html | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 6a164d4..af033a2 100644 --- a/index.html +++ b/index.html @@ -4421,8 +4421,30 @@
                              Conclusion -
                            • - +
                            • Accessibility: potential improvement +Existing implementations vary widely in how they implement markers and annotations. +This lack of consistency has the potential to lead to accessibility issues, +as there may be no clear way for the information the marker is intended to denote to be accessed by assistive +technologies. +A native implementation could expose clearly-defined interfaces for accessing the meaning of the marker +and the content of any related annotation. +
                            • +
                            • Accessibility: needs author-provided context +Although a native implementation could make it easier to expose related content in annotations, +it would still be incumbent on authors to ensure that such content was presented in well-structured HTML +for assistive technologies to be able to make best use of it. +
                            • +
                            • Internationalization: potential improvement (spatial data) +Assuming the fundamental content of a marker is its location, +a native implementation would be able to present that in a form appropriate for a user's locale. +
                            • +
                            • Author experience: simple defaults +A consistent interface for creating and showing markers and annotations would be advantageous +compared to the widely-varying approaches used by existing implementations. +
                            • +
                            • Author experience: customizable design +By providing suitable interfaces for specifying the appearance of markers and annotations, +a native implementation could allow authors to ensure they were consistent with the overall design of their site.
                            • From 6a29d930bb881410c13f783fc4434e8ce27b6f02 Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Sun, 20 Sep 2020 23:00:27 +0000 Subject: [PATCH 71/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- index.html | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index af033a2..1fd5976 100644 --- a/index.html +++ b/index.html @@ -4563,9 +4563,25 @@
                              Conclusion - -
                            • - +
                            • Accessibility: potential improvement +Differences in implementation by existing libraries can lead to accessibility issues which would be averted +by a native implementation that exposed controls in a way consistent with other user interface elements. +
                            • +
                            • Accessibility: research needed +It is unclear how custom controls could be implemented in a manner which guarantees the accessibility benefits +of native map controls. +
                            • +
                            • Accessibility: needs author-provided context +To implement accessible custom controls, +authors would have to take into account the same considerations as apply to implementing interactive elements +in other parts of the web platform. +
                            • +
                            • Internationalization: potential improvement (languages), Internationalization: UI localization required +A native implementation would be able to label controls according to the user's configured locale. +
                            • +
                            • Author experience: extensible +If a suitable interface were defined for authors to implement, +it has the potential to simplify the creation of custom controls that require access to the map's state.
                            • From d03cd488a4b8f8affdb6209935f3b075b6bfbc46 Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Sun, 20 Sep 2020 23:02:38 +0000 Subject: [PATCH 72/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- index.html | 51 ++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 44 insertions(+), 7 deletions(-) diff --git a/index.html b/index.html index 1fd5976..f0ebe66 100644 --- a/index.html +++ b/index.html @@ -4664,7 +4664,13 @@
                              Conclusion

                              6.1.5 Define a data source for a tile layer

                              -Description to follow +Existing commercial implementations will generally show map data from a preconfigured source, +while open-source implementations will either provide or document an initial configuration using open map data. +But many applications require the use of alternative sources of map data, +and it is therefore necessary that a map implementation provide suitable APIs for the configuration of such sources. +

                              +

                              +Configuring alternative data sources is also necessary to support the display of non-geographic tiled imagery.

                              Issue 74: Capability: Define a data source for a tile layer discussion: capabilitysection: client-side APIstatus: placeholder

                              Discuss this section on GitHub. @@ -4682,9 +4688,16 @@

                              Existing implementationsnot applicable: - +
                              full support: +

                              +All implementations support the creation of a layer with a specified data source that conforms to an OWS standard. +This requires specifying a way for the layer to access the data source, +which is achieved by specifying which OWS protocol to use along with a URL template. +Some implementations support the use of a URL template function to return the required tile URLs +when invoked with arguments specifying the geographical position and extent the required tile should represent. +

                              @@ -4693,7 +4706,7 @@
                              Supported use casesUses beyond mapping

                              -ToDo +All uses of map implementations to display non-geographical imagery require this capability.

                              @@ -4704,12 +4717,36 @@

                              -Based on the limited data, we are undecided about whether this should be a requirement. +Based on the fundamental nature of this capability, it is a requirement for web map APIs. +In addition to allowing for the display of alternative geographic data, +it also allows the repurposing of such APIs for wider application.

                              From 46d914edfb8e82c30966f29f620415f5c2ec2aac Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Sun, 20 Sep 2020 23:04:57 +0000 Subject: [PATCH 73/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- index.html | 64 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 52 insertions(+), 12 deletions(-) diff --git a/index.html b/index.html index f0ebe66..68f69b2 100644 --- a/index.html +++ b/index.html @@ -4830,7 +4830,17 @@
                              Conclusion

                              6.1.7 Create an overlay defined by heatmap data

                              -Description to follow +Point intensity data is a useful way of representing the distribution of a phenomenon across geographical areas. +Examples include frequency of earthquake occurrence in different regions, +the distribution of types of vegetation found in an area, +or the spread of a global pandemic at a particular point in time. +

                              +

                              +It is possible to preprocess such data into a raster or vector format for display, +but giving a map implementation the capability of rendering such data into an overlay directly +averts such problems as maintaining consistency between multiple representations of the same data. +Implementations will commonly accept point intensity data defined in a number of standard vector data formats, +such as KML or GeoJSON.

                              Issue 156: Capability: Create an overlay defined by heatmap data discussion: capabilitysection: client-side APIstatus: placeholder

                              Discuss this section on GitHub. @@ -4843,15 +4853,34 @@

                              Existing implementations
                              google-maps-api
                              -
                              bing-maps-api
                              -
                              apple-mapkit-js-api
                              mapbox-gl-api
                              -
                              leaflet-api
                              open-layers-api
                              +
                              full support: +

                              +All of these implementations support the display of point intensity data as a heatmap. +In the case of Google Maps, it is necessary to specify the inclusion of support declaratively when loading the +script library. +Typically, a vector data source object is defined in JavaScript either by specifying the URL of a resource +or by specifying the data directly in code. +

                              +
                              +
                              bing-maps-api
                              +
                              leaflet-api
                              +
                              tomtom
                              d3-geographies-api
                              -
                              not applicable: - +
                              partial support: +

                              +Bing Maps has native support for heatmaps via a separate module that must be explicitly loaded in JavaScript, +rather than being specified declaratively in HTML. +Leaflet (and by extension TomTom) and d3 have third-party plugins available which add support. +

                              +
                              apple-mapkit-js-api
                              +
                              not applicable: +

                              +MapKit JS does not support a heatmap overlay at present, +and no third-party plugins adding support are known of. +

                              Supported use cases
                              @@ -4859,7 +4888,10 @@
                              Supported use casesUses beyond mapping

                              -ToDo +Heatmaps have existing applications unrelated to geography in a number of fields. +For example, they are used in molecular biology for such purposes as visualizing gene expression. +An implementation capable of displaying non-geographic point intensity data would therefore +have potential value in the display of such data on the web.

                              @@ -4870,14 +4902,22 @@

                              -Based on the limited data, we are undecided about whether this should be a requirement. +This functionality could be added to enhance native web maps in the future.

                                -
                              • - -
                              • -
                              +
                            • Accessibility: potential improvement +Existing implementations only allow access to the underlying data represented by a heatmap +if the author explicitly provides it, for example by also including the source data in an HTML table. +A native implementation has the potential to improve access to the data. +Furthermore, the choice of colours used in the heatmap may present problems for users with +visual impairments. +A native implementation could expose controls to allow users to select an alternative palette, +such as a high-contrast version. +
                            • Performance: potential optimization +Rendering a heatmap from data can be computationally expensive, +and it may be possible for a native implementation to achieve greater efficiency. +
                            • From 37d3b3433dc70611f862271e55996eb940bb42af Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Sun, 20 Sep 2020 23:09:07 +0000 Subject: [PATCH 74/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 68f69b2..0b4b499 100644 --- a/index.html +++ b/index.html @@ -483,9 +483,9 @@

                              1.3 Structure of when measured against the principles of the inclusive web?
                              Supported use cases
                              -
                              +
                              Which use cases are enabled by this capability? - +
                              Uses beyond mapping
                              Is there a demand for this capability on the web, From 872705ff956dc2a09105a7ebfbc827df53fe1f10 Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Mon, 21 Sep 2020 01:54:16 +0000 Subject: [PATCH 75/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- index.html | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/index.html b/index.html index 0b4b499..b151f29 100644 --- a/index.html +++ b/index.html @@ -82,6 +82,7 @@ "specStatus": "CG-DRAFT", "copyrightStart": "2019", "github": "https://github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements", + "edDraftURI": "https://maps4html.org/HTML-Map-Element-UseCases-Requirements/", "editors": [ { "name": "Amelia Bellamy-Royds", @@ -111,13 +112,13 @@ "localBiblio": { "MapML": { "title": "Map Markup Language", - "href": "https://maps4html.github.io/MapML/spec/", + "href": "https://maps4html.org/MapML/spec/", "publisher": "Maps for HTML Community Group", "id": "mapml" }, "HTML-map-element": { "title": "The HTML map Element proposal", - "href": "https://maps4html.github.io/HTML-Map-Element/spec/", + "href": "https://maps4html.org/HTML-Map-Element/spec/", "publisher": "Maps for HTML Community Group", "id": "html-map-element" }, @@ -172,20 +173,20 @@ ] } ], - "publishISODate": "2020-09-20T00:00:00.000Z", - "generatedSubtitle": "Draft Community Group Report 20 September 2020" + "publishISODate": "2020-09-21T00:00:00.000Z", + "generatedSubtitle": "Draft Community Group Report 21 September 2020" }

                              Use Cases and Requirements for Standardizing Web Maps

                              Draft Community Group Report - +

                              -
                              Latest editor's draft:
                              https://maps4html.github.io/HTML-Map-Element-UseCases-Requirements/
                              +
                              Latest editor's draft:
                              https://maps4html.org/HTML-Map-Element-UseCases-Requirements/
                              @@ -375,8 +376,8 @@

                              1.2 The

                              The initial requirements sketched out at LGD2014 were expanded into an initial use cases and requirements summary. -That work was the basis of the draft Map Markup Language specification -and The HTML map Element proposal proposal. +That work was the basis of the draft Map Markup Language specification +and The HTML map Element proposal proposal. Although MapML has had notable support and development efforts from within the geospatial community, as of early 2019 it has not received significant support @@ -5751,7 +5752,7 @@

                              C.1 Informative references

                              -
                              [API-DESIGN-PRINCIPLES]
                              Web Platform Design Principles. Sangwhan Moon. 4 June 2020. URL: https://w3ctag.github.io/design-principles/
                              [ARIA]
                              Reference not found.
                              [ATAG20]
                              Authoring Tool Accessibility Guidelines (ATAG) 2.0. Jan Richards; Jeanne F Spellman; Jutta Treviranus. W3C. 24 September 2015. W3C Recommendation. URL: https://www.w3.org/TR/ATAG20/
                              [css-transforms-1]
                              CSS Transforms Module Level 1. Simon Fraser; Dean Jackson; Theresa O'Connor; Dirk Schulze. W3C. 14 February 2019. W3C Candidate Recommendation. URL: https://www.w3.org/TR/css-transforms-1/
                              [DOM]
                              DOM Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://dom.spec.whatwg.org/
                              [EXTENSIBLE]
                              The Extensible Web Manifesto. 10 June 2013. URL: https://extensiblewebmanifesto.org/
                              [FAST]
                              Framework for Accessible Specification of Technologies. W3C Accessible Platform Architectures Working Group (APA WG). URL: https://w3c.github.io/apa/fast/
                              [fullscreen]
                              Fullscreen API Standard. Philip Jägenstedt. WHATWG. Living Standard. URL: https://fullscreen.spec.whatwg.org/
                              [geolocation-API]
                              Geolocation API Specification 2nd Edition. Andrei Popescu. W3C. 8 November 2016. W3C Recommendation. URL: https://www.w3.org/TR/geolocation-API/
                              [GEOLOCATION-PRIVACY]
                              Privacy of Geolocation Implementations. Marcos Cáceres. 12 July 2010. URL: https://www.w3.org/2010/api-privacy-ws/papers/privacy-ws-21.pdf
                              [geolocation-sensor]
                              Geolocation Sensor. Anssi Kostiainen; Thomas Steiner. W3C. 19 December 2018. W3C Working Draft. URL: https://www.w3.org/TR/geolocation-sensor/
                              [HTML]
                              HTML Standard. Anne van Kesteren; Domenic Denicola; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
                              [html-design-principles]
                              HTML Design Principles. Anne van Kesteren; Maciej Stachowiak. W3C. 26 November 2007. W3C Working Draft. URL: https://www.w3.org/TR/html-design-principles/
                              [HTML-map-element]
                              The HTML map Element proposal. Maps for HTML Community Group. URL: https://maps4html.github.io/HTML-Map-Element/spec/
                              [international-specs]
                              Internationalization Best Practices for Spec Developers. Marcos Caceres. W3C. 29 May 2020. W3C Working Draft. URL: https://www.w3.org/TR/international-specs/
                              [MapML]
                              Map Markup Language. Maps for HTML Community Group. URL: https://maps4html.github.io/MapML/spec/
                              [media-accessibility-reqs]
                              Media Accessibility User Requirements. Shane McCarron; Michael Cooper; Mark Sadecki. W3C. 3 December 2015. W3C Note. URL: https://www.w3.org/TR/media-accessibility-reqs/
                              [media-frags]
                              Media Fragments URI 1.0 (basic). Raphaël Troncy; Erik Mannens; Silvia Pfeiffer; Davy Van Deursen. W3C. 25 September 2012. W3C Recommendation. URL: https://www.w3.org/TR/media-frags/
                              [Microdata]
                              HTML Microdata. Charles 'chaals' (McCathie) Nevile; Dan Brickley; Ian Hickson. W3C. 26 April 2018. W3C Working Draft. URL: https://www.w3.org/TR/microdata/
                              [personalization-semantics-requirements-1.0]
                              Requirements for Personalization Semantics. Lisa Seeman-Kestenbaum; Charles LaPierre; Michael Cooper; Ruoxi Ran. W3C. 30 January 2020. W3C Working Draft. URL: https://www.w3.org/TR/personalization-semantics-requirements-1.0/
                              [picture-in-picture]
                              Picture-in-Picture. Francois Beaufort; Mounir Lamouri. W3C. 30 January 2020. W3C Working Draft. URL: https://www.w3.org/TR/picture-in-picture/
                              [rfc7946]
                              The GeoJSON Format. H. Butler; M. Daly; A. Doyle; S. Gillies; S. Hagen; T. Schaub. IETF. August 2016. Proposed Standard. URL: https://tools.ietf.org/html/rfc7946
                              [security-privacy-questionnaire]
                              Self-Review Questionnaire: Security and Privacy. Theresa O'Connor; Peter Snyder. W3C. 8 May 2020. W3C Note. URL: https://www.w3.org/TR/security-privacy-questionnaire/
                              [SVG]
                              Scalable Vector Graphics (SVG) 1.0 Specification. Jon Ferraiolo. W3C. 4 September 2001. W3C Recommendation. URL: https://www.w3.org/TR/SVG/
                              [SVG2]
                              Scalable Vector Graphics (SVG) 2. Amelia Bellamy-Royds; Bogdan Brinza; Chris Lilley; Dirk Schulze; David Storey; Eric Willigers. W3C. 4 October 2018. W3C Candidate Recommendation. URL: https://www.w3.org/TR/SVG2/
                              [UAAG20]
                              User Agent Accessibility Guidelines (UAAG) 2.0. James Allan; Greg Lowney; Kimberly Patch; Jeanne F Spellman. W3C. 15 December 2015. W3C Note. URL: https://www.w3.org/TR/UAAG20/
                              [WCAG21]
                              Web Content Accessibility Guidelines (WCAG) 2.1. Andrew Kirkpatrick; Joshue O Connor; Alastair Campbell; Michael Cooper. W3C. 5 June 2018. W3C Recommendation. URL: https://www.w3.org/TR/WCAG21/
                              [webcomponents-design-guidelines]
                              Guidelines for creating web platform compatible components. W3C TAG. URL: https://www.w3.org/2001/tag/doc/webcomponents-design-guidelines/
                              [WGS84]
                              World Geodetic System 1984. US National Imagery and Mapping Agency. URL: http://earth-info.nga.mil/GandG/publications/tr8350.2/wgs84fin.pdf
                              +
                              [API-DESIGN-PRINCIPLES]
                              Web Platform Design Principles. Sangwhan Moon. 4 June 2020. URL: https://w3ctag.github.io/design-principles/
                              [ARIA]
                              Reference not found.
                              [ATAG20]
                              Authoring Tool Accessibility Guidelines (ATAG) 2.0. Jan Richards; Jeanne F Spellman; Jutta Treviranus. W3C. 24 September 2015. W3C Recommendation. URL: https://www.w3.org/TR/ATAG20/
                              [css-transforms-1]
                              CSS Transforms Module Level 1. Simon Fraser; Dean Jackson; Theresa O'Connor; Dirk Schulze. W3C. 14 February 2019. W3C Candidate Recommendation. URL: https://www.w3.org/TR/css-transforms-1/
                              [DOM]
                              DOM Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://dom.spec.whatwg.org/
                              [EXTENSIBLE]
                              The Extensible Web Manifesto. 10 June 2013. URL: https://extensiblewebmanifesto.org/
                              [FAST]
                              Framework for Accessible Specification of Technologies. W3C Accessible Platform Architectures Working Group (APA WG). URL: https://w3c.github.io/apa/fast/
                              [fullscreen]
                              Fullscreen API Standard. Philip Jägenstedt. WHATWG. Living Standard. URL: https://fullscreen.spec.whatwg.org/
                              [geolocation-API]
                              Geolocation API Specification 2nd Edition. Andrei Popescu. W3C. 8 November 2016. W3C Recommendation. URL: https://www.w3.org/TR/geolocation-API/
                              [GEOLOCATION-PRIVACY]
                              Privacy of Geolocation Implementations. Marcos Cáceres. 12 July 2010. URL: https://www.w3.org/2010/api-privacy-ws/papers/privacy-ws-21.pdf
                              [geolocation-sensor]
                              Geolocation Sensor. Anssi Kostiainen; Thomas Steiner. W3C. 19 December 2018. W3C Working Draft. URL: https://www.w3.org/TR/geolocation-sensor/
                              [HTML]
                              HTML Standard. Anne van Kesteren; Domenic Denicola; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
                              [html-design-principles]
                              HTML Design Principles. Anne van Kesteren; Maciej Stachowiak. W3C. 26 November 2007. W3C Working Draft. URL: https://www.w3.org/TR/html-design-principles/
                              [HTML-map-element]
                              The HTML map Element proposal. Maps for HTML Community Group. URL: https://maps4html.org/HTML-Map-Element/spec/
                              [international-specs]
                              Internationalization Best Practices for Spec Developers. Marcos Caceres. W3C. 29 May 2020. W3C Working Draft. URL: https://www.w3.org/TR/international-specs/
                              [MapML]
                              Map Markup Language. Maps for HTML Community Group. URL: https://maps4html.org/MapML/spec/
                              [media-accessibility-reqs]
                              Media Accessibility User Requirements. Shane McCarron; Michael Cooper; Mark Sadecki. W3C. 3 December 2015. W3C Note. URL: https://www.w3.org/TR/media-accessibility-reqs/
                              [media-frags]
                              Media Fragments URI 1.0 (basic). Raphaël Troncy; Erik Mannens; Silvia Pfeiffer; Davy Van Deursen. W3C. 25 September 2012. W3C Recommendation. URL: https://www.w3.org/TR/media-frags/
                              [Microdata]
                              HTML Microdata. Charles 'chaals' (McCathie) Nevile; Dan Brickley; Ian Hickson. W3C. 26 April 2018. W3C Working Draft. URL: https://www.w3.org/TR/microdata/
                              [personalization-semantics-requirements-1.0]
                              Requirements for Personalization Semantics. Lisa Seeman-Kestenbaum; Charles LaPierre; Michael Cooper; Ruoxi Ran. W3C. 30 January 2020. W3C Working Draft. URL: https://www.w3.org/TR/personalization-semantics-requirements-1.0/
                              [picture-in-picture]
                              Picture-in-Picture. Francois Beaufort; Mounir Lamouri. W3C. 30 January 2020. W3C Working Draft. URL: https://www.w3.org/TR/picture-in-picture/
                              [rfc7946]
                              The GeoJSON Format. H. Butler; M. Daly; A. Doyle; S. Gillies; S. Hagen; T. Schaub. IETF. August 2016. Proposed Standard. URL: https://tools.ietf.org/html/rfc7946
                              [security-privacy-questionnaire]
                              Self-Review Questionnaire: Security and Privacy. Theresa O'Connor; Peter Snyder. W3C. 8 May 2020. W3C Note. URL: https://www.w3.org/TR/security-privacy-questionnaire/
                              [SVG]
                              Scalable Vector Graphics (SVG) 1.0 Specification. Jon Ferraiolo. W3C. 4 September 2001. W3C Recommendation. URL: https://www.w3.org/TR/SVG/
                              [SVG2]
                              Scalable Vector Graphics (SVG) 2. Amelia Bellamy-Royds; Bogdan Brinza; Chris Lilley; Dirk Schulze; David Storey; Eric Willigers. W3C. 4 October 2018. W3C Candidate Recommendation. URL: https://www.w3.org/TR/SVG2/
                              [UAAG20]
                              User Agent Accessibility Guidelines (UAAG) 2.0. James Allan; Greg Lowney; Kimberly Patch; Jeanne F Spellman. W3C. 15 December 2015. W3C Note. URL: https://www.w3.org/TR/UAAG20/
                              [WCAG21]
                              Web Content Accessibility Guidelines (WCAG) 2.1. Andrew Kirkpatrick; Joshue O Connor; Alastair Campbell; Michael Cooper. W3C. 5 June 2018. W3C Recommendation. URL: https://www.w3.org/TR/WCAG21/
                              [webcomponents-design-guidelines]
                              Guidelines for creating web platform compatible components. W3C TAG. URL: https://www.w3.org/2001/tag/doc/webcomponents-design-guidelines/
                              [WGS84]
                              World Geodetic System 1984. US National Imagery and Mapping Agency. URL: http://earth-info.nga.mil/GandG/publications/tr8350.2/wgs84fin.pdf

                              \ No newline at end of file From b9f92e44f51db56d77b3d6a3ebe1a24565e9a658 Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Mon, 21 Sep 2020 13:40:44 +0000 Subject: [PATCH 76/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- index.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index b151f29..c7ed28f 100644 --- a/index.html +++ b/index.html @@ -377,7 +377,7 @@

                              1.2 The The initial requirements sketched out at LGD2014 were expanded into an initial use cases and requirements summary. That work was the basis of the draft Map Markup Language specification -and The HTML map Element proposal proposal. +and The HTML map Element proposal. Although MapML has had notable support and development efforts from within the geospatial community, as of early 2019 it has not received significant support @@ -4313,7 +4313,7 @@

                              ConclusionAccessibility: potential improvement A native implementation would be better able to incorporate a semantically meaningful representation of a map into its accessibility tree than current implementations, -which depend on the accessibility features of more general native elements in conjunction with [ARIA]. +which depend on the accessibility features of more general native elements in conjunction with Accessible Rich Internet Applications (WAI-ARIA) 1.1.
                            • Performance: potential optimization A native implementation would be more efficient in avoiding the need to download code, @@ -5218,7 +5218,7 @@
                              ConclusionAccessibility: potential improvement Current implementations can only represent changes in the map state in a semantically meaningful form -to a limited degree via such mechanisms as live regions. +to a limited degree via such mechanisms as Accessible Rich Internet Applications (WAI-ARIA) 1.1 live regions. A browser implementation would be better able to provide meaningful representations of such changes to assistive technologies.
                            • @@ -5752,7 +5752,7 @@

                              C.1 Informative references

                              -
                              [API-DESIGN-PRINCIPLES]
                              Web Platform Design Principles. Sangwhan Moon. 4 June 2020. URL: https://w3ctag.github.io/design-principles/
                              [ARIA]
                              Reference not found.
                              [ATAG20]
                              Authoring Tool Accessibility Guidelines (ATAG) 2.0. Jan Richards; Jeanne F Spellman; Jutta Treviranus. W3C. 24 September 2015. W3C Recommendation. URL: https://www.w3.org/TR/ATAG20/
                              [css-transforms-1]
                              CSS Transforms Module Level 1. Simon Fraser; Dean Jackson; Theresa O'Connor; Dirk Schulze. W3C. 14 February 2019. W3C Candidate Recommendation. URL: https://www.w3.org/TR/css-transforms-1/
                              [DOM]
                              DOM Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://dom.spec.whatwg.org/
                              [EXTENSIBLE]
                              The Extensible Web Manifesto. 10 June 2013. URL: https://extensiblewebmanifesto.org/
                              [FAST]
                              Framework for Accessible Specification of Technologies. W3C Accessible Platform Architectures Working Group (APA WG). URL: https://w3c.github.io/apa/fast/
                              [fullscreen]
                              Fullscreen API Standard. Philip Jägenstedt. WHATWG. Living Standard. URL: https://fullscreen.spec.whatwg.org/
                              [geolocation-API]
                              Geolocation API Specification 2nd Edition. Andrei Popescu. W3C. 8 November 2016. W3C Recommendation. URL: https://www.w3.org/TR/geolocation-API/
                              [GEOLOCATION-PRIVACY]
                              Privacy of Geolocation Implementations. Marcos Cáceres. 12 July 2010. URL: https://www.w3.org/2010/api-privacy-ws/papers/privacy-ws-21.pdf
                              [geolocation-sensor]
                              Geolocation Sensor. Anssi Kostiainen; Thomas Steiner. W3C. 19 December 2018. W3C Working Draft. URL: https://www.w3.org/TR/geolocation-sensor/
                              [HTML]
                              HTML Standard. Anne van Kesteren; Domenic Denicola; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
                              [html-design-principles]
                              HTML Design Principles. Anne van Kesteren; Maciej Stachowiak. W3C. 26 November 2007. W3C Working Draft. URL: https://www.w3.org/TR/html-design-principles/
                              [HTML-map-element]
                              The HTML map Element proposal. Maps for HTML Community Group. URL: https://maps4html.org/HTML-Map-Element/spec/
                              [international-specs]
                              Internationalization Best Practices for Spec Developers. Marcos Caceres. W3C. 29 May 2020. W3C Working Draft. URL: https://www.w3.org/TR/international-specs/
                              [MapML]
                              Map Markup Language. Maps for HTML Community Group. URL: https://maps4html.org/MapML/spec/
                              [media-accessibility-reqs]
                              Media Accessibility User Requirements. Shane McCarron; Michael Cooper; Mark Sadecki. W3C. 3 December 2015. W3C Note. URL: https://www.w3.org/TR/media-accessibility-reqs/
                              [media-frags]
                              Media Fragments URI 1.0 (basic). Raphaël Troncy; Erik Mannens; Silvia Pfeiffer; Davy Van Deursen. W3C. 25 September 2012. W3C Recommendation. URL: https://www.w3.org/TR/media-frags/
                              [Microdata]
                              HTML Microdata. Charles 'chaals' (McCathie) Nevile; Dan Brickley; Ian Hickson. W3C. 26 April 2018. W3C Working Draft. URL: https://www.w3.org/TR/microdata/
                              [personalization-semantics-requirements-1.0]
                              Requirements for Personalization Semantics. Lisa Seeman-Kestenbaum; Charles LaPierre; Michael Cooper; Ruoxi Ran. W3C. 30 January 2020. W3C Working Draft. URL: https://www.w3.org/TR/personalization-semantics-requirements-1.0/
                              [picture-in-picture]
                              Picture-in-Picture. Francois Beaufort; Mounir Lamouri. W3C. 30 January 2020. W3C Working Draft. URL: https://www.w3.org/TR/picture-in-picture/
                              [rfc7946]
                              The GeoJSON Format. H. Butler; M. Daly; A. Doyle; S. Gillies; S. Hagen; T. Schaub. IETF. August 2016. Proposed Standard. URL: https://tools.ietf.org/html/rfc7946
                              [security-privacy-questionnaire]
                              Self-Review Questionnaire: Security and Privacy. Theresa O'Connor; Peter Snyder. W3C. 8 May 2020. W3C Note. URL: https://www.w3.org/TR/security-privacy-questionnaire/
                              [SVG]
                              Scalable Vector Graphics (SVG) 1.0 Specification. Jon Ferraiolo. W3C. 4 September 2001. W3C Recommendation. URL: https://www.w3.org/TR/SVG/
                              [SVG2]
                              Scalable Vector Graphics (SVG) 2. Amelia Bellamy-Royds; Bogdan Brinza; Chris Lilley; Dirk Schulze; David Storey; Eric Willigers. W3C. 4 October 2018. W3C Candidate Recommendation. URL: https://www.w3.org/TR/SVG2/
                              [UAAG20]
                              User Agent Accessibility Guidelines (UAAG) 2.0. James Allan; Greg Lowney; Kimberly Patch; Jeanne F Spellman. W3C. 15 December 2015. W3C Note. URL: https://www.w3.org/TR/UAAG20/
                              [WCAG21]
                              Web Content Accessibility Guidelines (WCAG) 2.1. Andrew Kirkpatrick; Joshue O Connor; Alastair Campbell; Michael Cooper. W3C. 5 June 2018. W3C Recommendation. URL: https://www.w3.org/TR/WCAG21/
                              [webcomponents-design-guidelines]
                              Guidelines for creating web platform compatible components. W3C TAG. URL: https://www.w3.org/2001/tag/doc/webcomponents-design-guidelines/
                              [WGS84]
                              World Geodetic System 1984. US National Imagery and Mapping Agency. URL: http://earth-info.nga.mil/GandG/publications/tr8350.2/wgs84fin.pdf
                              +
                              [API-DESIGN-PRINCIPLES]
                              Web Platform Design Principles. Sangwhan Moon. 4 June 2020. URL: https://w3ctag.github.io/design-principles/
                              [ATAG20]
                              Authoring Tool Accessibility Guidelines (ATAG) 2.0. Jan Richards; Jeanne F Spellman; Jutta Treviranus. W3C. 24 September 2015. W3C Recommendation. URL: https://www.w3.org/TR/ATAG20/
                              [css-transforms-1]
                              CSS Transforms Module Level 1. Simon Fraser; Dean Jackson; Theresa O'Connor; Dirk Schulze. W3C. 14 February 2019. W3C Candidate Recommendation. URL: https://www.w3.org/TR/css-transforms-1/
                              [DOM]
                              DOM Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://dom.spec.whatwg.org/
                              [EXTENSIBLE]
                              The Extensible Web Manifesto. 10 June 2013. URL: https://extensiblewebmanifesto.org/
                              [FAST]
                              Framework for Accessible Specification of Technologies. W3C Accessible Platform Architectures Working Group (APA WG). URL: https://w3c.github.io/apa/fast/
                              [fullscreen]
                              Fullscreen API Standard. Philip Jägenstedt. WHATWG. Living Standard. URL: https://fullscreen.spec.whatwg.org/
                              [geolocation-API]
                              Geolocation API Specification 2nd Edition. Andrei Popescu. W3C. 8 November 2016. W3C Recommendation. URL: https://www.w3.org/TR/geolocation-API/
                              [GEOLOCATION-PRIVACY]
                              Privacy of Geolocation Implementations. Marcos Cáceres. 12 July 2010. URL: https://www.w3.org/2010/api-privacy-ws/papers/privacy-ws-21.pdf
                              [geolocation-sensor]
                              Geolocation Sensor. Anssi Kostiainen; Thomas Steiner. W3C. 19 December 2018. W3C Working Draft. URL: https://www.w3.org/TR/geolocation-sensor/
                              [HTML]
                              HTML Standard. Anne van Kesteren; Domenic Denicola; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
                              [html-design-principles]
                              HTML Design Principles. Anne van Kesteren; Maciej Stachowiak. W3C. 26 November 2007. W3C Working Draft. URL: https://www.w3.org/TR/html-design-principles/
                              [HTML-map-element]
                              The HTML map Element proposal. Maps for HTML Community Group. URL: https://maps4html.org/HTML-Map-Element/spec/
                              [international-specs]
                              Internationalization Best Practices for Spec Developers. Marcos Caceres. W3C. 29 May 2020. W3C Working Draft. URL: https://www.w3.org/TR/international-specs/
                              [MapML]
                              Map Markup Language. Maps for HTML Community Group. URL: https://maps4html.org/MapML/spec/
                              [media-accessibility-reqs]
                              Media Accessibility User Requirements. Shane McCarron; Michael Cooper; Mark Sadecki. W3C. 3 December 2015. W3C Note. URL: https://www.w3.org/TR/media-accessibility-reqs/
                              [media-frags]
                              Media Fragments URI 1.0 (basic). Raphaël Troncy; Erik Mannens; Silvia Pfeiffer; Davy Van Deursen. W3C. 25 September 2012. W3C Recommendation. URL: https://www.w3.org/TR/media-frags/
                              [Microdata]
                              HTML Microdata. Charles 'chaals' (McCathie) Nevile; Dan Brickley; Ian Hickson. W3C. 26 April 2018. W3C Working Draft. URL: https://www.w3.org/TR/microdata/
                              [personalization-semantics-requirements-1.0]
                              Requirements for Personalization Semantics. Lisa Seeman-Kestenbaum; Charles LaPierre; Michael Cooper; Ruoxi Ran. W3C. 30 January 2020. W3C Working Draft. URL: https://www.w3.org/TR/personalization-semantics-requirements-1.0/
                              [picture-in-picture]
                              Picture-in-Picture. Francois Beaufort; Mounir Lamouri. W3C. 30 January 2020. W3C Working Draft. URL: https://www.w3.org/TR/picture-in-picture/
                              [rfc7946]
                              The GeoJSON Format. H. Butler; M. Daly; A. Doyle; S. Gillies; S. Hagen; T. Schaub. IETF. August 2016. Proposed Standard. URL: https://tools.ietf.org/html/rfc7946
                              [security-privacy-questionnaire]
                              Self-Review Questionnaire: Security and Privacy. Theresa O'Connor; Peter Snyder. W3C. 8 May 2020. W3C Note. URL: https://www.w3.org/TR/security-privacy-questionnaire/
                              [SVG]
                              Scalable Vector Graphics (SVG) 1.0 Specification. Jon Ferraiolo. W3C. 4 September 2001. W3C Recommendation. URL: https://www.w3.org/TR/SVG/
                              [SVG2]
                              Scalable Vector Graphics (SVG) 2. Amelia Bellamy-Royds; Bogdan Brinza; Chris Lilley; Dirk Schulze; David Storey; Eric Willigers. W3C. 4 October 2018. W3C Candidate Recommendation. URL: https://www.w3.org/TR/SVG2/
                              [UAAG20]
                              User Agent Accessibility Guidelines (UAAG) 2.0. James Allan; Greg Lowney; Kimberly Patch; Jeanne F Spellman. W3C. 15 December 2015. W3C Note. URL: https://www.w3.org/TR/UAAG20/
                              [wai-aria-1.1]
                              Accessible Rich Internet Applications (WAI-ARIA) 1.1. Joanmarie Diggs; Shane McCarron; Michael Cooper; Richard Schwerdtfeger; James Craig. W3C. 14 December 2017. W3C Recommendation. URL: https://www.w3.org/TR/wai-aria-1.1/
                              [WCAG21]
                              Web Content Accessibility Guidelines (WCAG) 2.1. Andrew Kirkpatrick; Joshue O Connor; Alastair Campbell; Michael Cooper. W3C. 5 June 2018. W3C Recommendation. URL: https://www.w3.org/TR/WCAG21/
                              [webcomponents-design-guidelines]
                              Guidelines for creating web platform compatible components. W3C TAG. URL: https://www.w3.org/2001/tag/doc/webcomponents-design-guidelines/
                              [WGS84]
                              World Geodetic System 1984. US National Imagery and Mapping Agency. URL: http://earth-info.nga.mil/GandG/publications/tr8350.2/wgs84fin.pdf
                              \ No newline at end of file From 62c705b68a36e94c790c553f4c3dcc64d1d8a0ac Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Tue, 22 Sep 2020 18:24:14 +0000 Subject: [PATCH 77/94] Deploy Maps4HTML/HTML-Map-Element-UseCases-Requirements to github.com/Maps4HTML/HTML-Map-Element-UseCases-Requirements.git:gh-pages --- examples/alternative-layers.html | 2 +- examples/change-bearing-map.html | 2 +- examples/create-map.html | 2 +- examples/generate-vector-features.html | 4 +- examples/heatmap.html | 4 +- examples/reset-map-view.html | 4 +- examples/set-view-zoom.html | 4 +- examples/show-and-hide-features-overlays.html | 143 +++++++++++++++++- examples/technical-drawings.html | 6 +- examples/view-change-events.html | 4 +- index.html | 6 +- 11 files changed, 159 insertions(+), 22 deletions(-) diff --git a/examples/alternative-layers.html b/examples/alternative-layers.html index 69fc57c..6a90c09 100644 --- a/examples/alternative-layers.html +++ b/examples/alternative-layers.html @@ -5,7 +5,7 @@ - Provide alternative map layers which the user can select + Provide alternative map layers which the user can select — Maps for HTML reference examples diff --git a/examples/change-bearing-map.html b/examples/change-bearing-map.html index 5387ae4..abb5498 100644 --- a/examples/change-bearing-map.html +++ b/examples/change-bearing-map.html @@ -5,7 +5,7 @@ - Change the Bearing of a Map + Change the Bearing of a Map — Maps for HTML reference examples diff --git a/examples/create-map.html b/examples/create-map.html index 3474627..3d66b78 100644 --- a/examples/create-map.html +++ b/examples/create-map.html @@ -5,7 +5,7 @@ - Display an interactive map + Display an interactive map — Maps for HTML reference examples diff --git a/examples/generate-vector-features.html b/examples/generate-vector-features.html index 54855bb..27d263b 100644 --- a/examples/generate-vector-features.html +++ b/examples/generate-vector-features.html @@ -5,13 +5,13 @@ - ***Description*** — Maps for HTML reference examples + Show a vector data overlay — Maps for HTML reference examples

                              Examples for - Use Case: ***Title*** + Use Case: Generate new vector features from data

                              diff --git a/examples/heatmap.html b/examples/heatmap.html index 54855bb..3d464df 100644 --- a/examples/heatmap.html +++ b/examples/heatmap.html @@ -5,13 +5,13 @@ - ***Description*** — Maps for HTML reference examples + Generate a heatmap overlay — Maps for HTML reference examples

                              Examples for - Use Case: ***Title*** + Use Case: Generate a heatmap overlay from point intensity data

                              diff --git a/examples/reset-map-view.html b/examples/reset-map-view.html index 54855bb..36ac323 100644 --- a/examples/reset-map-view.html +++ b/examples/reset-map-view.html @@ -5,13 +5,13 @@ - ***Description*** — Maps for HTML reference examples + Allow users to reset the map to their starting point — Maps for HTML reference examples

                              Examples for - Use Case: ***Title*** + Use Case: Reset the map to the initial view

                              diff --git a/examples/set-view-zoom.html b/examples/set-view-zoom.html index 3d3ee35..011ea16 100644 --- a/examples/set-view-zoom.html +++ b/examples/set-view-zoom.html @@ -5,13 +5,13 @@ - ***Description*** — Maps for HTML reference examples + Move a map to a new position and/or zoom level — Maps for HTML reference examples

                              Examples for - Use Case: ***Title*** + Use Case: Move a map to a new position and/or zoom level

                              diff --git a/examples/show-and-hide-features-overlays.html b/examples/show-and-hide-features-overlays.html index b4e4411..31fed0d 100644 --- a/examples/show-and-hide-features-overlays.html +++ b/examples/show-and-hide-features-overlays.html @@ -1,10 +1,147 @@ - -Title + + + + + Show/hide map layers or feature sets — Maps for HTML reference examples + + +

                              Examples for + Use Case: Show/hide map layers or feature sets +

                              +

                              +***Introduction*** +

                              + +
                              + Jump to section… + +
                              + +
                              +

                              Google Maps embed

                              + +***TODO*** +
                              + +
                              +

                              OpenStreetMap embed

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps embed

                              + +***TODO*** +
                              + +
                              +

                              MapBox Studio embed

                              + +***TODO*** +
                              + +
                              +

                              Leaflet.js (with OpenStreetMap tiles)

                              + +***TODO*** +
                              + +
                              +

                              OpenLayers with OpenStreetMap tiles

                              + +***TODO*** +
                              + +
                              +

                              Google Maps API

                              + +***TODO*** +
                              + +
                              +

                              Bing Maps Control API

                              + +***TODO*** +
                              + +
                              +

                              MapKit JS (Apple Maps) API

                              + +***TODO*** +
                              + +
                              +

                              Mapbox GL JS API

                              + +***TODO*** +
                              + +
                              +

                              TomTom Maps SDK for Web with vector maps

                              + +***TODO*** +
                              + +
                              +

                              D3 Geographies APIs

                              + +***TODO*** +
                              - \ No newline at end of file + diff --git a/examples/technical-drawings.html b/examples/technical-drawings.html index ac1774c..f4d4515 100644 --- a/examples/technical-drawings.html +++ b/examples/technical-drawings.html @@ -73,7 +73,7 @@

                              MapBox Studio embed

                              -

                              Leaflet.js (with OpenStreetMap tiles)

                              +

                              Leaflet.js

                              Leaflet.js (with OpenStreetMap tiles)
                              -

                              OpenLayers with OpenStreetMap tiles

                              +

                              OpenLayers

                              @@ -202,7 +202,7 @@

                              Mapbox GL JS API

                              -

                              TomTom Maps SDK for Web with vector maps

                              +

                              TomTom Maps SDK for Web

                              ***TODO