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 |
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 http://wiki.openstreetmap.org/wiki/Develop I would suggest reading some of the more general documents and leaning some basics about OSM before you proceed. answered 31 Oct '14, 11:04 SimonPoole ♦ 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
|
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. answered 31 Oct '14, 12:26 SomeoneElse ♦ 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
I'd probably start here:
(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: https://developer.tomtom.com/products/maps-sdk Also compose it like this example: https://openmaptiles.org/docs/mobile/mobile/ answered 16 Jun '19, 21:34 Tiago |