gps app for android useing shapefiles - android

I'm very new to android development. I would like to make a android app for my senior project. The idea for the project is this: build an app that will show one's location on a map be it on a road or path. So it looks like using google maps and the Locator class this can be done. But here is the thing I have shapefile for the path system in esir format. It looks like one could export this from ArcGIS as a KML file, and then overlay it on top of the google map. Now of course I would like the GPS location displayed to the user to "snap" to the nearest path if it is in say 15m of the path to help hide the inaccuracies in the GPS. I would also like to be able to place notification icons on the map, e.g. path condition, that could be updated from time to time. I do also have shapefiles for the roads, streams, lakes, etc. for the area, so I could just use them instead of google maps. Is using google map and overlaying the KML file the best way to do this? Does this sound like a doable project?

Of caurse it's a doable project .there are many solutions for this kinde of projects for your base map you can use google map , openstreetmap ,Bingmap (personnaly i prefer openstreetmap ),open layer ..... , After that you can choose between google map api or Arcgis Api (personnaly i think that arcgis api is more Professional including all services of a GIS ) ... ,for Gps there ara many solutions one of theme is to update your Gpx file and project it like a graphic layer in you app .

Related

What libraries to use for Android Project with maps and routing?

Alongside with my friends I am about to develop an android application. The application will use maps a lot, finding routes, placing markers, drawing predefined routes, stuff like that.
There is this Google Maps APIv2. So I tried it, write some code and looks good. I am able to place markers and draw polylines, however my application will have some predefined routes. One route is set of LatLng points. So I just add these points to PolylineOptions and add it to map. Great, it works.
But these predefined routes will be created in web-based application also using Google Maps APIv2 or similar api/library. Some streets are not straight they are curved so you need to create a lot of LatLng points to get it look nice which is very important. I can do this but I want to put only two LatLng points - at the beginning of the street and at the end.
Here is the image:
On the left, route has only two LatLng points (red dots) and that is desired shape of line. On the right same route with 2 LatLng points gives me route coloured in light blue, and this is what actually happens if I just add polyline to GoogleMap object. In order to create same effect as in left image, I need to create many LatLng (red dots) points which is not appropriate for those who will create these routes. So this leads us to routing problem which can be solved by using Google Directions API. Which solves the problem of drawing routes with less markers. Basically what I understood, this API for directions actually creates a lot of these LatLng points that I draw using for-each loop as seen on right part of picture above. And I need to contact Google Web Service for this so I need to have Internet connection - and this is the problem.
Sometimes internet will not be available hence I need some alternative solution. I've heard of Open Street Maps, but I am not sure how to use it and does it needs internet connection for creating these routes.
Is there any free library that offers offline routing and showing maps offline? Basically all map interactions must be done without use of internet.
But it is understandable if internet connection is needed only for the first run of application as it is needed for Google Maps APIv2, well application crashes until I turn on internet, after which any next run I do not need internet..
A web based application will be made for creating these routes and routes will be created by users for whom we develop this application. And as users can be very annoying they will demand some user-friendly and easy interface for creating routes. Telling them that they need to create 100 to 500 points for each route, and if there is 60-70 routes they will gladly say NO to our application.
Any advice? If it is possible, I can write my own routing algorithm for Google Maps to work offline, I am very skilful at "Algorithms and Data Structures" - any guides/tutorials for this? But I guess this map is just set of tiles, and does not have necessary information for finding route.... So please correct If I am mistaken for anything.
You can use the Scout SDK (provides a free usage quota) as it offers full offline maps, routing & navigation.
Have a look into the open source projects GraphHopper, Mapsforge and OpenScience-VTM which can do routing and/or maps offline. And all use OpenStreetMap data. Other projects exists of course, have a look here and here.
Also have a look into the GraphHopper map matching component which could be interesting for your specific use case and can work offline too.
(Note I'm the author of GraphHopper)
If it is possible, I can write my own routing algorithm for Google Maps to work offline
No you can't, the data is not open nor you can buy the data to my knowledge.
Another option is OsmAnd. The OSM wiki also has some information about OsmAnd and even more information about OSM on Android in general as well as pages about rendering and routing.

Offline and Online indoor map with open street map.

I designed indoor map with Josm. I try to doing indoor map project with android.
I made open street map on josm and I asking question about it on OSM HELP PAGE and they said use tilemill for showing your indoor map. But tilemille suport .shp file and I could not convert it on tilemill.
you can download my work josm HERE
My question is.
How can I design this indoor map on mapbox-TileMill. Or Could you give other advise
exxample project and I found this project for example When I import it ,Why it does not show map
And How can I show map on my android application
could you give me advise. I am so mixed.Could you give me open source project or example
If you are looking for a way to load .osm map to tilemill there is a way. I did it following instructions in this guide. After you have your tiles created using Tilemill you can either either export them to your mapbox account or as mbtiles. Then you can use the mapbox android sdk to create your indoor map app.
Another alternative is to use mapsforge. They provide a mapwriter plugin (which is a plugin for osmosis)that allows you to convert .osm files into .map files. This .map file can then be loaded into the SD card and be used to render maps. However this option will only allow offline maps.
I hope this helps.

Offline Map Application Development Android

I have a project , android application with offline Map. user should download map once, or It should come with the app and then without internet be able to make marks and so on.
Can you give me Idea, which maps should I use, and little example . Thanks
You can use osmdroid
osmdroid is a (almost) full/free replacement for Android's MapView class. It also includes a modular tile provider system with support for numerous online and offline tile sources and overlay support with built-in overlays for plotting icons, tracking location, and drawing shapes.
Also see osmbonuspack

How to identify the roads on the map to route just as Google Maps does?

do you know how can we create our map and show the ways from a certain locations to destinations ? Without using google map , just using a picture of a map , is there any way to draw routes on it?I am not asking projects or codes , just need some suggestions related to drawings and considering the obstacles in the way ?Thank you
You should have your way points in somewhere(maybe in db or in xml file etc) and also for getting map base you should have a map provider like yahoo, bing, google or openstreetmap(which is free to use - no api key needed considering others)
after having these two sources you can use Geoserver(which is opensource map data manipulater and provider) to put these sources together and get them as map base image.
considering your "just using a picture of a map" is an owerwellming issue. Because you will have to do some calculation to find where to put your points programatically. So Geoserver does that automatically.
also I suggest you to hava a look at osmdroid and osmbonuspack they may help.

Create and display indoor map on Android

I'm developing an Android application and I would like to display an internal (indoor) map of some buildings, but I don't know where to begin: I want to create a custom kml file (how it's possible to create it? with which tool?) and display it in a fragment.
I already have it working with external maps (simple GoogleMap in MapFragment), so it would be super to have the kml file placed 'over' the GoogleMap, like real indoor maps.
Thanks
My project is also about indoor maps. I want to share my experience:
First, I tried to use google map but google does not support all countries and my country is not supported. Therefore, I was not able to use google maps although it could be an easy way.
Second, I tried to use open street map which does not render indoor elements. It would be crazy because you have to use lost of other gis tools in order to do it.
the last, I thought why do I need geographical data. All of them - google, osm - are geographical maps which has geographical data. So I do not need this. I rendered my map and I used x,y coordinates of my map's jpg file. I added all of important place's x,y coordinate so I can search them. And it is most easy. And you can use tileview library which is so easy.

Categories

Resources