NOTICE: is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum

Hello, I need help developing a mobile app that displays just one country--Nigeria's map data for use in a mobile app. The app would allow the user browse through the map to find various POIs and locations either by navigating through the mapview on the app or by searching by name in the app.. It would be like Google's Maps app but with OSM's data and it would be for just one country.

Also the app will allow the user add new data--like a street not properly shown or a POI not indicated--to the map in the easiest way possible..

What would I need to learn(like programming languages) to help me develop this mobile app using OSM's data. Any help is highly welcome.

asked 31 Oct '14, 09:23

Sprime's gravatar image

accept rate: 0%

It probably is nearly impossible to give a good answer to your question.

Specific programming languages and developement environments depend very much on your target devices (WM, iOS, Android ....). While there are some device independent solutions, for example PhoneGap, they tend to be rather limited in practice.

Further while the OSM data format is fairly simple I wouldn't underestimate the effort needed to actually manipulate it programmatically.

The main OSM Dev page is here I would suggest reading some of the more general documents and leaning some basics about OSM before you proceed.

permanent link

answered 31 Oct '14, 11:04

SimonPoole's gravatar image

SimonPoole ♦
accept rate: 18%

Thank you SimonPoole :).

My initial target devices would be Androids.. I've looked at the Dev page and its so full with so many articles to read.. Feels like my head should pop open and everything should just pour in lol..

(31 Oct '14, 11:55) Sprime

Also have a look at Mapsforge ... it is opensource and has many sample apps

permanent link

answered 31 Oct '14, 14:54

stephan75's gravatar image

accept rate: 6%

A couple of thoughts...

You'll need to pick the technology that you want to use to develop your app. You've mentioned Android, so that narrows it down a bit - Android Java, PhoneGap / Cordova, Xamarin and possibly a couple of others. You'll also want to think about whether the devices that you're targetting will have the Google add-ons to Android (and be aware that some of Google's Android developer walkthroughs assume that these are available). I'd suggest choosing one based on your previous experience. Also there are quite a few libraries that you can use for OSM for Android Java, lots of web stuff that will work with Cordova, but less for Xamarin I think.

First of all I'd start small. Try and choose a small part of what you eventually want to achieve. That might be "online slippy map display", or "online POI search", but start with something relatively simple and work forward from there rather than trying to understand everything before doing anything.

I'd also look at what's out there already, such as osmdroid, which is an OSM MapView library replacement. There are already applications out there that do what you want to do and a lot more (OsmAnd is one, there are lots of others), and many of these have the source licenced in such a way that you can learn from them.

In the longer term you'll need to ask yourself questions like "do I need this to work offline" (which has implications for data storage on the device itself) and "which back-end servers (if any) will I use for e.g. POI searching" (you'll need to check the terms of service for whatever you want to use; here for example is the one for "Nominatim", which is the name lookup service used on the OSM website). You'll also want to think about whether you want to display map tiles that something else (perhaps a remote server) has rendered or whether you want to draw things on the map display yourself.

permanent link

answered 31 Oct '14, 12:26

SomeoneElse's gravatar image

SomeoneElse ♦
accept rate: 16%

Cool, thanks mehn! I like your idea of starting the app with just a bit of the functionality and learning from there, and thats what I'm going to do.

Thanks a million @SomeoneElse, the link to Getting Started is highly appreciated :) I didn't notice it initially.

Now the coding begins :D

(31 Oct '14, 12:54) Sprime
(31 Oct '14, 13:12) SomeoneElse ♦

You might need to start by getting rendered tiles for chosen regions and an SDK to handle them on a device. TomTom offers Maps SDK for Web,Android and iOS that should help you with this: Also compose it like this example:

permanent link

answered 16 Jun '19, 21:34

Tiago's gravatar image

accept rate: 0%

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 31 Oct '14, 09:23

question was seen: 14,335 times

last updated: 16 Jun '19, 21:34

NOTICE: is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum