bebosh
bebosh

Reputation: 863

How to implement Indoor maps

I'm working on indoor navigation application, I need to build map with 3D overlays, in addition I need to move, zoom and rotate the map using the touches. so when I searched about that I found google maps API and some strong libraries such as LibGDX, I worked on LibGDX with TiledMap, but I faced some problems in touches and animation, so I think the google maps API is more powerful. can I use google maps API for indoor maps only, like this image:

enter image description here

if yes, please tell me because I'm not starting to learn it yet, else, what the best library can I use to do that and if there is good tutorials?

I will be grateful for help.

Upvotes: 1

Views: 2837

Answers (1)

Chris
Chris

Reputation: 4386

Alright, in my opinion you have tow major choices:

  • You do it appropriatly with a real mapping software. Then I would suggest you to use cityGML or indoorGML, especially when you have navigation in mind. There are tools like Esris city engine, deegree 3D or 3D city DB which might be of help. Then there are things like the ArcGIS API for building your application - but beware, the implementation on mobile devices is very buggy in my experience. There are also free Java city/indoorGML libraries that you can use, not sure on their support for Android though. Meanwhile Google Maps API is supposed to support 3d as well, but I doubt it works for real 3d as I've not seen custom buildings yet. There might be a compromise using Google Earth API and overlay it with a KML indoor model. The possibillities are of course restricted with KML, on the other side, city and indoor GML is fairly heavy workload while sketchup and KML is lightweight.
  • The maybe better way would be quick and dirty: Make a browser application using WebGL. Then you can use JS libraries like ThreeJS which is fairly easy. This has the advantage to be platform independent, very customizable and well looking, the Android Chrome browser supports WebGL as well. For navigation you would have to build your own logic.

Upvotes: 1

Related Questions