🗺️ MAPS.ME — Offline OpenStreetMap maps for iOS and Android
C++ C HTML Java Objective-C Shell Other
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
3party Replace http with https for openstreetmap.org links Mar 16, 2018
android [android] Fixed local ads backgournd in search Mar 23, 2018
api [linux] Fixed project build with g++ 4.8. Oct 21, 2015
base [base] Changed the namespace of Cancellable from my to base. Mar 23, 2018
cmake [cmake] Main CMakeLists.txt refactoring Jan 26, 2018
coding Added KML library Mar 14, 2018
data [planet] Data from 16.03.2018 Mar 21, 2018
debian Updated desktop EULA. Sep 23, 2015
docs Replace http with https for openstreetmap.org links Mar 16, 2018
drape Using _t suffix instead of ::type in whole project + using std:: some… Mar 6, 2018
drape_frontend Minor style fixes Mar 16, 2018
editor [editor] review fixes Jan 23, 2018
feature_list [base] Changed the namespace of Cancellable from my to base. Mar 23, 2018
generator [base] Changed the namespace of Cancellable from my to base. Mar 23, 2018
geometry Getting rid of my::sq, math::sqr Mar 7, 2018
indexer Add geo ranking Mar 16, 2018
installer/win [fonts] Replace WenQuanYi MicroHei with Droid Sans Fallback Sep 22, 2015
iphone [ios] Create bookmark category alert. Mar 22, 2018
kml Improved KML library Mar 22, 2018
local_ads Added support of 3G awareness in core platform Mar 6, 2018
map Fixed processing of bookmark category removing. Mar 23, 2018
mapshot Added KML library Mar 14, 2018
openlr Added KML library Mar 14, 2018
partners_api [taxi] review fixes Mar 23, 2018
platform [platform] Got rid of std/*.hpp includes in platform.{c,h}pp. Mar 19, 2018
pyhelpers Updated the spec in accordance with what Victor said. Sep 13, 2017
qt Added KML library Mar 14, 2018
qt_tstfrm [qmake] Goodbye QMake! Dec 28, 2017
routing [base] Changed the namespace of Cancellable from my to base. Mar 23, 2018
routing_common Replace http with https for openstreetmap.org links Mar 16, 2018
search [base] Changed the namespace of Cancellable from my to base. Mar 23, 2018
skin_generator [boost] Fix clang build error on boost 1.64 Feb 27, 2018
software_renderer [qmake] Goodbye QMake! Dec 28, 2017
stats [qmake] Goodbye QMake! Dec 28, 2017
std [cmake] Adding c++14 support Jan 29, 2018
storage [feature_list] Use correct wikipedia url Mar 14, 2018
testing [partners_api][android] safe callbacks Aug 14, 2017
tizen Removed legacy style from code, scripts and projects Jan 11, 2017
tools [python] Mwm downloader script Mar 22, 2018
track_analyzing Added KML library Mar 14, 2018
tracking [tracking] Fix circular buffer allocation Mar 13, 2018
traffic [qmake] Goodbye QMake! Dec 28, 2017
transit Review fixes. Mar 19, 2018
ugc Added KML library Mar 14, 2018
xcode [taxi] review fixes Mar 23, 2018
.clang-format [clang-format] Updated clang-format rules for ObjC. Oct 4, 2017
.gitattributes [mopub] [ios] Added Mopub framework. Apr 13, 2017
.gitignore [mac-build] Fixed MasOS build. Mar 6, 2018
.gitmodules Updated protobuf to 3.3.0 Jul 10, 2017
CMakeLists.txt Added KML library Mar 14, 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 Added flags for partners buttons Mar 5, 2018
defines.hpp Add data generation for LocalityIndexBuilder Mar 7, 2018
strings.txt Added bookmark strings Mar 22, 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.