Convert Figma logo to code with AI

osmandapp logoOsmAnd

OsmAnd

4,641
1,014
4,641
2,920

Top Related Projects

4,571

πŸ—ΊοΈ MAPS.ME β€” Offline OpenStreetMap maps for iOS and Android

Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL

Open source routing engine for OpenStreetMap. Use it as Java library or standalone web server.

3,357

πŸ†” The easy-to-use OpenStreetMap editor in JavaScript.

Quick Overview

OsmAnd is an open-source navigation and mapping application for Android and iOS devices. It uses OpenStreetMap data to provide offline maps, turn-by-turn navigation, and various other features for outdoor activities and travel. OsmAnd stands out for its extensive customization options and ability to function without an internet connection.

Pros

  • Offline functionality: Maps and navigation work without an internet connection
  • Highly customizable: Users can tailor the app's appearance and functionality to their needs
  • Open-source: Allows for community contributions and transparency
  • Wide range of features: Includes hiking trails, bicycle routes, and public transport information

Cons

  • Steep learning curve: The extensive features and options can be overwhelming for new users
  • User interface: Some users find the interface cluttered or less intuitive compared to other mapping apps
  • Resource-intensive: Can be demanding on device resources, especially with large map downloads
  • Occasional stability issues: Some users report crashes or bugs, particularly on older devices

Code Examples

As OsmAnd is primarily a mobile application and not a code library, there are no specific code examples to provide. However, developers interested in contributing to the project or building plugins can refer to the GitHub repository for source code and development guidelines.

Getting Started

Since OsmAnd is an end-user application rather than a code library, there's no code-based quick start. Instead, users can follow these steps to get started:

  1. Download OsmAnd from the Google Play Store (Android) or App Store (iOS)
  2. Open the app and download maps for your desired regions
  3. Explore the main menu to familiarize yourself with available features
  4. Configure display and navigation settings according to your preferences
  5. Start using the app for navigation, map viewing, or route planning

For developers interested in contributing to the project, visit the GitHub repository at https://github.com/osmandapp/OsmAnd for detailed information on building the app and contributing guidelines.

Competitor Comparisons

4,571

πŸ—ΊοΈ MAPS.ME β€” Offline OpenStreetMap maps for iOS and Android

Pros of OMIM

  • More streamlined and lightweight codebase
  • Faster rendering and map loading times
  • Better support for offline navigation and routing

Cons of OMIM

  • Less customization options for map appearance
  • Fewer advanced features for outdoor activities and hiking
  • Smaller community and less frequent updates

Code Comparison

OsmAnd:

public class MapActivity extends ActionBarActivity {
    private MapView mapView;
    private OsmandSettings settings;
    private MapViewTrackingUtilities trackingUtilities;
    private OsmandApplication app;
}

OMIM:

class Framework
{
public:
  void DrawMap();
  void UpdateViewport(ScreenBase const & screen);
  void ShowSearchResult(search::Result const & result);
};

OsmAnd uses Java for its Android app, with a focus on object-oriented design and extensive use of classes for different map components. OMIM, on the other hand, is primarily written in C++, emphasizing performance and efficiency in map rendering and data processing.

OsmAnd's codebase is more modular, with separate classes for various map functionalities, while OMIM's Framework class centralizes core map operations, potentially offering better performance at the cost of some flexibility.

Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL

Pros of Mapbox GL Native

  • More extensive documentation and API references
  • Broader platform support, including iOS, Android, and web
  • Advanced 3D rendering capabilities and customizable map styles

Cons of Mapbox GL Native

  • Requires a Mapbox account and API key for full functionality
  • Less focus on offline capabilities compared to OsmAnd
  • Steeper learning curve for beginners

Code Comparison

OsmAnd (Java):

OsmandSettings settings = app.getSettings();
RoutingHelper routingHelper = app.getRoutingHelper();
boolean nightMode = settings.DAYNIGHT_MODE.get() == DayNightMode.NIGHT;

Mapbox GL Native (C++):

mbgl::Map map(view, *fileSource, mapMode);
map.setStyleURL("mapbox://styles/mapbox/streets-v11");
map.setCenter(mbgl::LatLng(40.7128, -74.0060));

Both projects offer mapping solutions, but Mapbox GL Native provides more advanced features and wider platform support. OsmAnd focuses on offline navigation and is more suitable for users who prioritize privacy and offline functionality. Mapbox GL Native excels in customization and 3D rendering, making it ideal for developers building complex mapping applications across multiple platforms.

Open source routing engine for OpenStreetMap. Use it as Java library or standalone web server.

Pros of GraphHopper

  • More focused on routing and navigation algorithms, offering advanced features like isochrone calculations and matrix routing
  • Better performance for large-scale routing tasks, suitable for enterprise applications
  • More extensive API documentation and integration options

Cons of GraphHopper

  • Less user-friendly for end-users, primarily designed as a backend service
  • Lacks built-in map rendering and offline functionality, which OsmAnd provides
  • Smaller community and fewer contributions compared to OsmAnd

Code Comparison

GraphHopper routing example:

GraphHopper hopper = new GraphHopper().forServer();
hopper.setOSMFile("map.osm.pbf");
hopper.setGraphHopperLocation("graph-cache");
hopper.setEncodingManager(EncodingManager.create("car"));
hopper.importOrLoad();

GHRequest req = new GHRequest(lat1, lon1, lat2, lon2).setVehicle("car");
GHResponse rsp = hopper.route(req);

OsmAnd routing example:

RoutingConfiguration.Builder builder = new RoutingConfiguration.Builder();
builder.setRouteService("OSMAND");
RoutePlannerFrontEnd router = new RoutePlannerFrontEnd();
List<Location> route = router.searchRoute(builder.build(), start, end);

Both repositories provide routing functionality, but GraphHopper offers more flexibility and customization options, while OsmAnd focuses on a complete navigation solution with map rendering and offline capabilities.

3,357

πŸ†” The easy-to-use OpenStreetMap editor in JavaScript.

Pros of iD

  • Web-based editor, accessible from any browser without installation
  • User-friendly interface, suitable for beginners and casual mappers
  • Integrated with OpenStreetMap website for seamless editing experience

Cons of iD

  • Limited offline functionality compared to OsmAnd's robust offline capabilities
  • Less advanced features for complex mapping tasks or data analysis
  • Primarily focused on map editing, lacking navigation features

Code Comparison

iD (JavaScript):

context.enter = function(mode) {
    if (mode.id === 'browse') {
        context.history().checkpoint('enter browse');
        context.mode().exit();
        context.ui().sidebar.hide();
        context.ui().inspector.hide();
    }
    context.mode(mode);
};

OsmAnd (Java):

public void setMapLocation(double lat, double lon) {
    mapView.setLatLon(lat, lon);
    mapView.refreshMap();
    updateLocationInfo(new LatLon(lat, lon));
}

The iD code snippet shows how the editor handles mode changes, while the OsmAnd code demonstrates setting map location and refreshing the view. iD focuses on web-based interactions, whereas OsmAnd deals with mobile map rendering and location updates.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

OsmAnd (OSM Automated Navigation Directions)

This project aims at providing comfortable map viewing and navigation (routing) application for mobile devices. Particular stress lies with complete offline features (via pre-loaded offline map data) or economic internet usage. To get started, continue with the basic description below, then find more detail on our Welcome Wiki Pages, the Project Homepage, or the OpenStreetMap OsmAnd Wiki Page. You are welcome to discuss any question regarding the project at the Google group OsmAnd. Please do not use comments on wiki pages because it is rather difficult to find them.

Android markets
Google Play
Huawei AppGallery
Amazon
F-droid
App Store - Apple
App Store Apple

Translation status

Functionality

OsmAnd (OSM Automated Navigation Directions) is a map and navigation application with access to the free, worldwide, and high-quality OpenStreetMap (OSM) database. All map data can be stored on your device's memory card for offline use. Via your device's GPS, OsmAnd offers routing, with optical and voice guidance, for car, bike, and pedestrian usage. All main functionalities work both online and offline (no internet needed).

Some of the main features:

Navigation

  • Works online (fast) or offline (no roaming charges when you are abroad)
  • Turn-by-turn voice guidance (recorded and synthesized voices)
  • Optional lane guidance, street name display, and estimated time of arrival
  • Supports intermediate points on your itinerary
  • Automatic re-routing whenever you deviate from the route
  • Search for places by address, by type (e.g. restaurant, hotel, gas station, museum), or by geographical coordinates

Map Viewing

  • Display your position and orientation on the map
  • Optionally align the map according to compass or your direction of motion
  • Save your most important places as Favorites
  • Display POIs (point of interests) around you
  • Can display specialized online tile maps
  • Can display satellite view (from Bing)
  • Can display different overlays like touring/navigation GPX tracks and additional maps with customizable transparency
  • Optionally display place names in English, local, or phonetic spelling

Use OpenStreetMap and Wikipedia Data

  • High quality information from the world's best collaborative projects
  • Global maps from OpenStreetMap, available per country or region
  • Wikipedia POIs, great for sightseeing (not available in free version)
  • Unlimited free downloading, directly from the app (download limit is 16 map files in free version)
  • Always up-to-date maps (updated at least once a month)
  • Compact offline vector maps
  • Select between complete map data and just road network (Example: All of Japan is 700 MB, or 200 MB for the road network only)
  • Also supports online or cached tile maps

Safety Features

  • Optional automated day/night view switching
  • Optional speed limit display, with reminder if you exceed it
  • Optional speed-dependent map zooming
  • Share your location so that your friends can find you

Bicycle and Pedestrian Features

  • The maps include foot, hiking, and bike paths (great for outdoor activities)
  • Special routing and display modes for bike and pedestrian usage
  • Optional public transport stops (bus, tram, train), including line names
  • Optional trip recording to local GPX file or online service
  • Optional speed and altitude display
  • Display of contour lines and hill-shading (via additional paid plugin)

Directly Contribute to OpenStreetMap

  • Report map bugs
  • Upload GPX tracks to OSM directly from the app
  • Add POIs and directly upload them to OSM (or later if offline)
  • Optional trip recording in background mode (while device is in sleep mode)

Contribute to OsmAnd

OsmAnd is open-source and actively being developed. Everyone can contribute to the application by reporting bugs, improving translations, or coding new features. The project experiences continuous improvement by all such forms of developer and user interaction. The project progress also relies on financial contributions to fund the development, coding, and testing of new functionality. By buying OsmAnd+ and subscribing to OsmAnd Pro (see https://osmand.net/docs/user/purchases/), you help the application become even more awesome!

The technical documentation on how to build OsmAnd can be found at https://www.osmand.net/docs/technical/build-osmand/

Map Coverage and Quality - How Good is OSM Data?

According to research, OSM map data rivals and often surpasses commercially available maps both in terms of data completeness and data actuality. This is indicated by different metrics like the amount of road distance mapped, or the number of objects like points of interest or buildings mapped. The fact that the maps are globally crowd-sourced ensures continuous improvements and updates, the incorporation of local on-the-ground expertise, and reflects things like neighborhood development, ongoing construction, or even the results of recent natural disasters.

Comparing the different metrics, it is safe to say that OSM maps cover all continents and countries globally for all your travel needs, and you will find their quality and completeness nothing less than stunning in the vast majority of countries. Latest research mentions only few countries in continental Asia and central Africa where e.g the incorporation of a noticeable portion or roadways is still ongoing to catch up with the high levels already reached anywhere else.

List of countries supported

Coverage is world wide, e.g.: Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, Argentina, Armenia, Aruba, Australia, Austria, Azerbaijan, Bahamas, Bahrain, Bangladesh, Barbados, Belarus, Belgium, Belize, Benin, Bermuda, Bhutan, Bolivia, Bonaire, Bosnia and Herzegovina, Botswana, Brazil, British Virgin Islands, Brunei, Bulgaria, Burkina Faso, Burundi, Cambodia, Cameroon, Canada, Cape Verde, Central African Republic, Chad, Chile, China, Colombia, Comoros, Congo, Costa Rica, Croatia, Cuba, Curaçao, Cyprus, Czechia, Denmark, Djibouti, Dominica, Dominican Republic, Ecuador, Egypt, El Salvador, Equatorial Guinea, Eritrea, Estonia, Ethiopia, Fiji, Finland, France, French Guiana, French Polynesia, Gabon, Gambia, Georgia, Germany, Ghana, Gibraltar, Greece, Greenland, Grenada, Guadeloupe, Guam, Guatemala, Guernsey, Guinea, Guinea-Bissau, Guyana, Haiti, Vatican, Honduras, Hong Kong, Hungary, Iceland, India, Indonesia, Iran, Iraq, Ireland, Isle of Man, Israel, Italy, Ivory Coast, Jamaica, Japan, Jersey, Jordan, Kazakhstan, Kenya, Kiribati, North Korea and South Korea, Kuwait, Kyrgyzstan, Laos, Latvia, Lebanon, Lesotho, Liberia, Libya, Liechtenstein, Lithuania, Luxembourg, Macao, Macedonia, Madagascar, Malawi, Malaysia, Maldives, Mali, Malta, Martinique, Mauritania, Mauritius, Mayotte, Mexico, Micronesia, Moldova, Monaco, Mongolia, Montenegro, Montserrat, Morocco, Mozambique, Myanmar, Namibia, Nauru, Nepal, Netherlands, Netherlands Antilles, New Caledonia, New Zealand, Nicaragua, Niger, Nigeria, Norway, Oman, Pakistan, Palau, Palestinian Territory, Panama, Papua New Guinea, Paraguay, Peru, Philippines, Poland, Portugal, Puerto Rico, Qatar, Romania, Russia, Rwanda, Saint Barthelemy, Saint Helena, Saint Kitts and Nevis, Saint Lucia, Saint Martin, Saint Pierre and Miquelon, Saint Vincent and the Grenadines, Samoa, San Marino, Saudi Arabia, Senegal, Serbia, Seychelles, Sierra Leone, Singapore, Slovakia, Slovenia, Somalia, South Africa, South Georgia, South Sudan, Spain, Sri Lanka, Sudan, Suriname, Swaziland, Sweden, Switzerland, Syria, Taiwan, Tajikistan, Tanzania, Thailand, Timor-Leste, Togo, Tokelau, Tonga, Trinidad and Tobago, Tunisia, Turkey, Turkmenistan, Tuvalu, Uganda, Ukraine, United Arab Emirates, United Kingdom (UK), United States of America (USA), Uruguay, Uzbekistan, Vanuatu, Venezuela, Vietnam, Wallis and Futuna, Western Sahara, Yemen, Zambia, Zimbabwe.