/lib-open-swiss-maps-sdk

Android and iOS SDK to display maps and geodata of swisstopo. Owner: simonroesch, Deputy: gjn

Primary LanguageC++Mozilla Public License 2.0MPL-2.0

Open Swiss Maps SDK




Android and iOS SDK to display maps and geodata of swisstopo

Swift Package Manager License: MPL 2.0 Build status: iOS Build status: android

Free map layers and geo data by swisstopo in your app

Offer your mobile users the official maps of Switzerland and many other maps and data of swisstopo in your app! Integrate them easily with the "Open Swiss Maps SDK". The data is available for free thanks to Open Government Data (OGD) and can be used freely. More Information about OGD: www.swisstopo.ch/ogd

Getting started

Readme Android

Readme iOS

Features

  • Display swisstopo map layers:
    • Landeskarten (farbig)
    • Landeskarte 1:1 Million | LK1000
    • Landeskarten (grau)
    • Landeskarte Winter | LK10, LK25, LK50, LK100
    • SWISSIMAGE Hintergrund
    • Luftfahrtkarte ICAO
    • Segelflugkarte
    • Sperr- und Gefahrenzonenkarte
    • Dufourkarte Erstausgabe
    • Siegfriedkarte Erstausgabe
    • Eisenbahn swissTLM3D
    • Strassen und Wege swissTLM3D
    • Seilbahnen swissTLM3D
    • Wanderwege
    • Wanderland
    • Veloland Schweiz
    • Mountainbikeland Schweiz
    • Hangneigung ab 30°
    • Hangneigungsklassen ab 30°
    • Wildtierschutzgebiete
    • Wildruhezonen
    • Schneeschuhrouten
    • Skirouten
    • Einschränkungen für Drohnen
  • Numerous more layers available through the WMTS service of Swisstopo
  • Combine multiple layers on top of each other
  • Full mobile map experience with touch & gesture handling
  • Update camera to show or animate to different parts of the map
  • Add your own polygon layers, line layers or icon layers
  • Add a customizable gps layer, combined with predefined or custom location providers

...and more to come soon!

Architecture

To support both the Android and iOS platform, most of the code-base is written in C++ and shared between the two platforms. The Kotlin and Swift interface bindings are generated with a fork of the Djinni library. The library intentionally is designed to have a modular structure, so that most parts of it can be adjusted or completely replaced with custom implementations. Most of the interfaces are also exposed to Swift and Kotlin, so extensions can also conveniently be programmed in those languages.

OpenMobileMaps

The Open Swiss Maps SDK uses Open Mobile Maps as its core. Open Mobile Maps is a lightweight and modern Map SDK for Android and iOS. More information about this can be found on openmobilemaps.io or on Github.

License

This project is licensed under the terms of the MPL 2 license. See the LICENSE file.

Terms of use for free geodata and geoservices (OGD) from swisstopo