I need a library/framework that i can use to store a custom map(as tiles) locally on android and show it as a map . I would like to get a real-time position of an object(Point data - it's within a building ) from the server ( a compatible server of course) and project it on my app . My question is - Is there a library - Server combination that can do this . I'm still reading and learning about different types of servers and libraries, so can you please be elaborate
-
Are you making the custom maps or are you using a map service to call and download? There are a few android apps that do this already. See wiki.openstreetmap.org/wiki/Android– Mapperz ♦Commented Oct 10, 2013 at 13:31
-
you may find what you need in this question gis.stackexchange.com/questions/7567/…– geogeekCommented Oct 10, 2013 at 13:31
-
I'm making custom maps . I'll also use the GPS position of the current device along with some point data from the servers . I am only going to plot point data on the Map --no polygons, lines etc– MaliceCommented Oct 11, 2013 at 16:11
-
One more point i observed was that the openstreet map only provides data upto zoom level 18. My building would not be much at zoom level 18 . I need more zoom into the map . How do I implement this ?– MaliceCommented Oct 14, 2013 at 10:54
1 Answer
The Google Maps Android API allows you to easily add your own, custom, tiles to the map.
Essentially, you add a TileOverlay instance to your map, which uses your custom TileProvider implementation to provide the tile images. See the API docs for TileOverlay.
In our software, Mappt for Android tablets, we have used the tiling system to load both local and remote tiles. The ability to load tiles from local storage works great offline.
You could also look at the Google Maps Javascript method of using custom tiles, if a web-based solution is appropriate.
With regards to real-time tracking of an object, depending on your server and specific requirements, you could implement a small site that uses SignalR to receive and rebroadcast object position updates. We have used SignalR to great effect for this in the past, albeit not using Android clients (ours were web-based).
I found an article here that describes how to interface Android clients with SignalR.