I want to develop an android mapping aplication that enables users to navigate in the map:
my problem with using google maps API is that the area that I want to map is not detailed and I want to use the maps prvided by other server that has the map I want, or better if I could do it offline(the map is local and not from a server)
what are the best and easiest mapping API that are free licened, enable offline mapping, or enable using other server or OSM????
I found many API but these features I don't if they are supported, and I dont know what is the best(e.g mapquest api, decarta api, nutiteq api)
any help any opinion will be nice,
and thanks in advance.
You can use some of these libraries: osmdroid, mapsforge. Both of them provides interface to some internet map databases and allows to create your own maps provider.
They allows you to have (and handle) your offline cache, dynamic asynchronous maps loading, resampling on zoom, adding overlays and so on, like original MapView does.
Another good point of using these libraries is that they are well-designed for in-place substitution of google MapView.
Both of them are LGPL (you can use them in you commercial apps) and provide interface for OpenStreetMap out-of-the-box.
Related
Here I see the information that the API uses dedicated servers:
Several libraries make it easy for Android developers to incorporate OpenStreetMap in Their own applications, Whether as a static map image, a fully interactive map, or more sophisticated uses like geocoding and routing. Another benefit of using These libraries is que They respect OpenStreetMap's tile usage policy by fetching tiles and other resources from dedicated servers instead of OpenStreetMap's donated servers.
(And then the API osmdroid appears in the list)
Wiki link: http://wiki.openstreetmap.org/wiki/Android
That's right?
Does anyone know the availability of the servers used by the API osmdroid?
(osmdroid API link https://github.com/osmdroid)
This will depend on the tile provider you choose. According to TileSourceFactory.java there are various provider available, including the official OSM server which have a very strict tile usage policy.
Of course you can use any alternative tile provider you want, including your own one.
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:
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.
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.
I made an android application with Google Maps using Maps API v2 and the app is getting the data from JSON generated by PHP from MySQL database. This works great while phone is connected to the internet.
My question is what is the best way to make app usable offline as well. I need just one small area for offline availability and I can download JSON to the phone storage and parse it but the map part is my main concern. As much as I read this won't be possible with Google Maps but what are the alternatives?
There's an open source Library available out there named OSMDroid which replaces Google MapView classes. 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.
You can follow this link.
OR
You can follow Mapsforge which provides free and open software for OpenStreetMap-based applications,offers a library for ad-hoc map rendering on Android devices
Go through this link for mapsforge usage
How can I replace GoogleMaps API V2 with OpenStreetMap?
I have an proyect that I have integrated GoogleMaps in this project but I want to replace it with OpenStreetMap
OSM itself doesn't provide an webmap functionality. OSM is a community dedicated to collect gepspatial informations and as a consequence they are also "playing" with visualizing this data to render different styled maps (but don't try to replace Google Maps itself).
So what you are asking about is a mix of different components:
Webmap toolkit (Leaflet became popular and easy to use, while OpenLayers is more powerful)
(or a native widget, Mapsforge seems to be popular on Android)
Map tile provider (OSM itself allows only minimal use for third party services)
A very good summary is also switch2osm.org
I'm looking for a platform for showing custom maps on android mobile phones and tablets.
It seems like Google's MapView is the most common (or the only?) maps platform for the Android, but my problem with it is that I can't use my own custom maps with it.
Is there any 3rd party custom maps platform for the Android? If not, can someone please try to lead me into a way to implement my own solution?
I need all the basic map features such as - Panning, zooming, layers.
I'm still very flexible with methods of how to implement my map data, so every suggestion counts!
Thanks!
OpenStreetMap supports offline and online maps. OSM API has all the features that Google Maps API has, same (almost) principles apply on OSM as they do on Google Maps.
For the #Spacedman answer, yes you can integrate the HTML that contains the js with OpenLayers in WebView
OpenLayers (mobile version) plus Javascript? Assuming you are making a mostly standalone app then I'm not sure about how well it all works running off local URLs instead of a web server, but I can't see any problems that can't be solved one way or another.
Can you tightly integrate it into Android apps? I don't know, I assume you need some kind of web page view part and send it to your HTML that uses OpenLayers javascript for the mapping...