/indoorequal.org

A web based indoor viewer that display vector tiles as well as GeoJSON, OSM and IMDF files

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

indoorequal.org

A web based indoor viewer.

Discover:

Development

Using docker:

./script/server

And visit http://localhost:1234

Configuration

A few configuration options are available by editing the config.json file:

  • mapTilerApiKey: the MapTiler API Key
  • tilesUrl: The URL of the indoor= tileJSON
  • indoorEqualApiKey: the indoor= API Key (optional if you don't use the official indoor= tileJSON
  • indoorMinZoom: The minimum level of zoom when the indoor features are displayed

Remote Command API

The remote command API allows you to interact with the viewer via the window.postMessage() method. Test page: https://indoorequal.org/remote.html

Example

const indoorEqualWindow = window.open("https://indoorequal.org/");
window.addEventListener('message', (e) => {
  if (e.data.event === 'ready') {
    const file = new File([JSON.stringify({type: 'FeatureCollection', features: []})], 'test.geojson');
    indoorEqualWindow.postMessage({ command: 'preview', file }, '*');
  }
});

Open a preview

With a file

{ command: 'preview', file: new File([], 'filename.geojson') }

With an URL

{ command: 'preview', url: 'https://exemple.net/file.osm' }

Set level

{ command: 'level', level: '0' }

Set coordinates

Via the bounding box

{ command: 'coordinates', bbox: [1.971874, 48.921259, 2.299404, 49.029990] }

Via the center and the zoom

{ command: 'coordinates', center: { lng: 1.971874, lat: 48.921259 }, zoom: 1 }

Translation

Translations are managed via Transifex, go here to translate it in your language.

Deploy

Using docker:

docker build -t indoor .
docker run -p 8080:80 indoor

License

GNU AGPL v3