🗺️ MAPS.ME — Offline OpenStreetMap maps for iOS and Android
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
3party Review fixes. Jul 19, 2018
android generated localizations Aug 27, 2018
api [linux] Fixed project build with g++ 4.8. Oct 21, 2015
base Review fixes. Aug 24, 2018
cmake Fixed warn: mangled name for .. will change in C++17 because the exce… Jun 25, 2018
coding [Core] Added subscription Aug 17, 2018
data World.mwm with relation:boundary for city bounding. Aug 21, 2018
debian Updated desktop EULA. Sep 23, 2015
docs delete ndk-bundle Jul 24, 2018
drape Unused code warning fixed. Aug 26, 2018
drape_frontend Refactoring of DebugRectRenderer. Aug 19, 2018
editor [editor] synchronization. review fixes. Aug 22, 2018
feature_list [base] Replacing osm::Id with GeoObjectId. Aug 21, 2018
generator Review fixes. Aug 21, 2018
geocoder [base] Replacing osm::Id with GeoObjectId. Aug 21, 2018
geometry [geometry] Fix comments. Aug 1, 2018
indexer [editor] synchronization. review fixes. Aug 22, 2018
installer/win [fonts] Replace WenQuanYi MicroHei with Droid Sans Fallback Sep 22, 2015
iphone generated localizations Aug 27, 2018
kml Fixed Public position in access rules Aug 16, 2018
local_ads [Core] Added subscription Aug 17, 2018
map Review fixes Aug 24, 2018
mapshot Added shaders library Jun 28, 2018
openlr [indexer] Convert LoaderBase methods to const, do not store FeatureTy… Jul 30, 2018
partners_api [Core] Added subscription Aug 17, 2018
platform [android] Fixed build Aug 16, 2018
pyhelpers Updated the spec in accordance with what Victor said. Sep 13, 2017
qt Refactoring of DebugRectRenderer. Aug 19, 2018
qt_tstfrm Usage of shaders library Jun 28, 2018
routing [routing] Routing tool Aug 27, 2018
routing_common [indexer] Style & includes Jul 30, 2018
search [editor] synchronization. review fixes. Aug 22, 2018
shaders Fixed traffic rendering Jul 20, 2018
skin_generator [cmake] Fix track analyzer Jul 23, 2018
software_renderer [cmake] Add precompiled headers support Jun 15, 2018
stats [cmake] Add precompiled headers support Jun 15, 2018
std Review fixes. Apr 24, 2018
storage Fixed sending statistics to PushWoosh Aug 14, 2018
testing [partners_api][android] safe callbacks Aug 14, 2017
tizen Added new booking search visualization Apr 9, 2018
tools [python] Update python test scripts Aug 1, 2018
track_analyzing [geometry] Refactoring of code that works with parametrized segments. Aug 1, 2018
tracking [trackink] Fix race. Aug 2, 2018
traffic Review fixes Aug 10, 2018
transit Review fixes. Aug 21, 2018
ugc [ugc] Fixed migration issues Aug 7, 2018
xcode [editor] synchronization. review fixes. Aug 22, 2018
.clang-format [clang-format] Updated clang-format rules for ObjC. Oct 4, 2017
.gitattributes [mopub] [ios] Added Mopub framework. Apr 13, 2017
.gitignore remove *sw* from gitignore Aug 27, 2018
.gitmodules [twine] Make twine a submodule, and update it to 1.0.3 Mar 30, 2018
CMakeLists.txt [geocoder] Forward geocoder stub. Jul 11, 2018
CONTRIBUTORS Update CONTRIBUTORS Nov 20, 2015
LICENSE [docs] Updated license and texts Sep 29, 2015
NOTICE Fixed NOTICE and README. Sep 30, 2015
README.md Replace http with https for openstreetmap.org links Mar 16, 2018
configure.sh [android] Fixed compilation Jun 25, 2018
defines.hpp [generator][search] review fixes Jul 3, 2018
partners_strings.txt Added McAurthurGlen strings Aug 7, 2018
precompiled_headers.hpp [cmake] Add precompiled headers support Jun 15, 2018
strings.txt Changed (...) symbol Aug 27, 2018

README.md

MAPS.ME

MAPS.ME is an open source cross-platform offline maps application, built on top of crowd-sourced OpenStreetMap data. It was publicly released for iOS and Android.

Submodules

This repository contains submodules. Clone it with git clone --recursive. If you forgot, run git submodule update --init --recursive.

Translations

If you want to improve app translations or add more search synonyms, please check our wiki.

Compilation

To compile the project, you would need to initialize private key files. Run configure.sh and press Enter to create empty files, good enough to build desktop and Android debug packages.

For detailed installation instructions and Android/iOS building process, see INSTALL.md.

Nightly builds for Android are published to osmz.ru and Dropbox: release, debug.

Building maps

To create one or many map files, first build the project, then use generate_mwm.sh script from tools/unix to create a single mwm file from pbf/o5m/bz2 source, or generate_planet.sh to generate multiple countries at once from a planet o5m file. See detailed instructions in MAPS.md.

Map styles

MAPS.ME uses its own binary format for map styles, drules_proto.bin, which is compiled from MapCSS using modified Kothic library. Feature set in MWM files depends on a compiled style, so make sure to rebuild maps after releasing a style.

For development, use MAPS.ME Designer app along with its generator tool: these allow for quick rebuilding of a style and symbols, and for producing a zoom-independent feature set in MWM files.

See STYLES.md for the format description, instructions on building a style and some links.

Development

You would need Qt 5 for development, most other libraries are included into the repository: see 3party directory. The team uses mostly XCode and Qt Creator, though these are not mandatory. We have an established coding style.

See CONTRIBUTING.md for the repository initialization process, the description of all the directories of this repository and other development-related information.

All contributors must sign a Contributor Agreement, so both our and their rights are protected.

Feedback

Please report bugs and suggestions to the issue tracker, or by mail to bugs@maps.me.

Authors and License

This source code is Copyright (C) 2015 My.com B.V. (Mail.Ru Group), published under Apache Public License 2.0, except third-party libraries. See NOTICE and data/copyright.html files for more information.