-
Notifications
You must be signed in to change notification settings - Fork 12
Description
The WebRTC API is a browser-based API comprised of various JavaScript interfaces. WebRTC relies on <video>'s and <audio>'s capabilities (low level primitives) of the Web Platform, to allow Web developers to create two-way communication tools inside of Web apps.
In the future, if this project succeeds, the browser should be equipped with element(s) that support the rendering and management of tiled, georeferenced and non-spatial content that follows pre-known standardized tiled coordinate reference systems, similar to those that are defined by MapML, WMTS and so on.
Users may wish to define their own coordinate systems, and tiling structures.
This use case asserts that it should be possible to supply a standardized metadata JavaScript object that defines a previously unknown TCRS, that can be used by the map-supporting elements (<map>/<layer>?) to provide standard rendering and behaviour of non-standardized, but appropriately defined coordinate systems.
A WebRTC-like API architecture, that is a simple relationship between the API objects and the map-supporting elements should be defined.
Just to try to make it clear what I mean, you could define an API to which you supply the coordinate system-defining object, something like so (this is not real, just a sketch):
<html>
<head>
<title>Non-standard TCRS example</title>
<meta charset = "utf-8">
</head>
<body>
<map controls>
<layer src="https://example.org/example/" label="Non-standard coordinate system (only, everything else standard!) layer source"></layer
</map>
</body>
<script>
//checks if the browser supports Web maps
if (navigator.getUserMapTCRS) {
var tcrs = navigator.getUserMapTCRS( {
resolutions: [ 0.703125, 0.3515625, 0.17578125, ... ],
code: 'EPSG:1345',
proj4string: '+proj=laea +ellps=WGS84 +datum=WGS84 +no_defs ',
etc }
, function (err) {});
var map = document.querySelector('map');
//insert TCRS definition into the map tag
map.projection = tcrs;
} else {
alert("Error. Web maps not supported!");
}
</script>
</html>