OsmAnd Development
Overviewβ
Test functions of the app are collected in the OsmAnd development plugin. Use them at your own risk.
The OsmAnd development plugin allows you to try new features of the app or to configure OsmAnd for testing: simulate navigation routes, check the screen rendering performance, etc. Plugin is designed for developers and experienced users and not required for daily use of the application.
Required Setup Parametersβ
To activate special features for developers and testers:
- Enable OsmAnd development plugin in the Plugins section of the Main Menu.
- Make the necessary settings in the plugin's Settings menu.
- Enable developer widgets if necessary.
Plugin Settingsβ
OsmAnd development plugin settings are global and apply to all profiles.
Use one of the following paths to open the plugin settings:
- Main Menu β Plugins β OsmAnd development β Settings.
- Main Menu β Global Settings β Profile β OsmAnd development plugin settings.
- Android
- iOS
Terrainβ
- Use raster SQLIte format for hillshade and slope (Android). Load old format raster maps.
Troubleshottingβ
- Simulate your position (Android / iOS). Simulate the location and movement using a GPX track.
- Battery saving mode (Android / iOS). This setting reduces the screen refresh rate by 20 frames per second to help save battery power while using applications.
- Location interpolation percentage (Android). Adjusts how smoothly your location is displayed on the map during route navigation. A higher percentage makes movements appear smoother but can slightly delay the displayed position compared to your real GPS location. A lower percentage keeps your position more accurate but may result in more abrupt map movements.
- Use 3D location position icons (iOS). Allows you to select a 3D icon for the My Location icon.
- Simulate obd data (Android). Allows simulation of OBD scanner usage.
- Performance debug info (Android). Displays rendering and navigation performance.
- Disable map layers (Android). Disables all map layers over the vector map (restart required).
- Logcat buffer (Android). Check and share detailed logs of the app.
- Show toast about pressed key (Android). Display a message about the key.
- Write Bearing (Android). Save bearing to each track point while recording. Bearing is the compass direction from your current position to your intended destination. Affects track recording.
- Write Heading (Android). Save heading to each track point while recording. Heading is the compass direction from your current position towards true north. This option is enabled by default. Affects track recording.
Application Testingβ
- Simulate first app start. Sets the flag indicating first app startup, keeps all other settings unchanged.
- Test voice prompts. Select a voice and test by playing announcements.
- Transparent status bar. The map becomes visible under the status bar.
- Show free version banner. Display the free version banner even in the paid version.
- Show debug information. Display graphical information about the placement of each text on the map.
- Allow display on top. Allows map texts to be displayed on top of each other.
Internal Algorithmsβ
- Safe mode. Run the app in (slower) safe mode.
Memory Settingsβ
- Memory allocated for routing option allows you to determine the amount of memory allocated for calculating long routes. You can use this option if the Standard routing A* is selected in the Navigation settings.
Calculation of extra-long routes:
- Higher memory allocation may impact the performance of other apps.
- Calculation of 50 km routes for pedestrians
Info and Statisticsβ
- Allocated memory. Displays the allocated system memory for the OsmAnd application.
- Total native memory. Displays the total amount of native memory allocated to the application, including proportional memory.
- A-GPS info. Indicates when A-GPS data was last downloaded.
- Day/night info. Indicates today's sunrise and sunset times.
- Energy statistics (average 1 / 5 / 15 minutes). Displays battery level per minute (%) and average energy consumption (mAh) over 1, 5, and 15-minute intervals.
- Rendering statistics (average 1 / 5 / 15 minutes). Shows rendering statistics, including FPS over the last 1k frames, CPU (tiles), CPU (idle time), and CPU (standby) averages over 1, 5, and 15-minute intervals.
Button:
Reset plugin settings to default. Resets all plugin settings to their default values.
Map Rendering FPS Widgetβ
OsmAnd developer Widgets can be added to the screen only when OsmAnd development plugin is enabled.
- Android
- iOS
Menu β Configure screen β Right panel / Left panel β Developer widgets β Map rendering FPS
Menu β Configure screen β Right panel / Left panel β Developer widgets β Map rendering FPS
The FPS Widget shows how fast the map and map elements are displayed and refreshed. The numeric value is indicated in frames per second (FPS).
Camera Position Widgetsβ
OsmAnd developer Widgets can be added to the screen only when OsmAnd development plugin is enabled.
- Android
- iOS
Menu β Configure screen β Right panel / Left panel β Developer widgets
Menu β Configure screen β Right panel / Left panel β Developer widgets
You can use Camera position widgets to give the OsmAnd map a realistic look and match photos of the Earth taken both from above and from space.
Camera tiltβ
- Android
- iOS
The Camera tilt widget displays the incline between the central view vector of the camera (viewer) and an imaginary flat ground of the earth. The default value is 90 degrees (no tilt).
The camera tilt is changed by moving the camera (viewer) while the center point on the map (we are looking at) remains the same. The distance to it (in fact, zoom) does not change. At the same time, due to the imaginary movement of the viewer, the distance from the camera to the surface changes.
Camera Elevationβ
- Android
- iOS
The Camera Elevation widget shows the camera elevation above the surface level. Camera elevation is indicated in meters / kilometers.
Zoom Levelβ
- Android
- iOS
The widget has two views that are switched by tapping it:
- Zoom level. Shows the current map zoom level.
- Map scale. Shows the current ratio between a distance on a map and the corresponding distance on the earth. Examples: "1 : 3 000", "1 : 3,3 M" "1: 340 K".
- The initial zoom level (0) is the level at which the entire surface of the earth (the full map) is displayed on the screen, and its size is 256 by 256 pixels.
- Each next zoom level reduces the imaginary distance to the ground by about 2 times.
Distance to Targetβ
- Android
- iOS
The Distance from camera to target widget shows the distance between the camera (viewer) and the center of the map. This distance is displayed in meters / kilometers.
Comparison with a Satellite Imageryβ
A comparison of the OsmAnd map and the earth's surface reveals the following patterns:
- Maximum distortion is observed at large zooms (6-7 zoom for camera incline 90 degrees).
- As the camera tilt decreases (from 90 to 10 degrees), the distortion of the map increases.
- Distortions begin to be observed earlier in high latitudes.
The table below contains information about the tilt of the camera and the distance to the target and zoom level at which the OsmAnd map distortions become visible. If the camera continues to move away from the target, the observed distortion of the OsmAnd map will increase.
Incline (90) | Latitude | Max Zoom | Height, km | Distortion |
---|---|---|---|---|
90 | 26 | 6 | 5500 | 5% |
90 | 50 | 6 | 2500 | 5% |
90 | 66 | 7 | 1300 | 5% |
Incline (60) | Latitude | Max Zoom | Height, km | Distortion |
65 | 26 | 8 | 1100 | 6.5% |
65 | 50 | 8 | 800 | 6.5% |
65 | 66 | 9 | 630 | 6.5% |
Incline (45) | Latitude | Max Zoom | Height, km | Distortion |
45 | 26 | 9 | 350 | 7.5% |
45 | 50 | 9 | 320 | 7.5% |
45 | 66 | 8 | 210 | 7.5% |
Incline (20) | Latitude | Max Zoom | Height, km | Distortion |
20 | 26 | 12 | 30 | 10% |
20 | 50 | 11 | 30 | 10% |
20 | 66 | 11 | 30 | 10% |
Available RAM Widgetβ
This widget is designed specifically for you when using OsmAnd to provide a more convenient and informative interaction with the available RAM on your device. It allows you to easily and quickly monitor the available RAM, which is especially useful when using OsmAnd for navigation. Read more about the widget in the Information widgets article.
GPX-Track Simulationβ
OsmAnd provides an opportunity to simulate the location and movement of your device using a GPX track. For these purposes, use Simulate location by GPX option in the OsmAnd development plugin settings:
- Tap Simulate location by GPX.
- Select a track to simulate the location and movement of the device.
- Select movement simulation speed.
- Tap Start buton.
- Android
- iOS
After running the simulation, you will see on the main screen of the app that navigation mark is moving according to GPX track. Tap my location button to synchronize My Location (simulated geolocation of the device) with the center of the map.
To stop simulation of the movement of your device, go back to the OsmAnd development settings and tap stop in the simulate your position option.
- Simulate location by GPX can be also accessed through Quick action menu.
- The location movement speed during the simulation can be set equal to the recorded speed (1), or faster (x2, x3, x4).
- You can also simulate movement along a GPX-track from the navigation menu without enabling the OsmAnd development plugin. In that case, your location will not be synchronized with the track.
Related Articlesβ
This article was last updated in May 2023