Use Maps application in my Android application - android

I am currently developing an application which has a maps feature. My map is working, but I still need to create a Directions option. In previous versions of the Android SDK there used to be a class called DrivingDirections, which did exactly what I want. Now it's gone and I don't know how to add this feature to my current map. I read that Google have updated their terms thus making the use of Directions in apps kinda illegal or something like that. But there are Directions in my built-in Maps application. So my question is - Is there any way for me to pass parameters (longitude, latitude) from my application to the built-in application so that the built-in Maps can then draw the route from the start point to the end point?
P.S. I don't necessarily need this to be done by passing parameters. Any solution will be fine, as long as I can draw the route from point A to point B on my already displayed map.
Thank you.

Is there any way for me to pass
parameters (longitude, latitude) from
my application to the built-in
application so that the built-in Maps
can then draw the route from the start
point to the end point?
No, sorry, at least not through any published and documented mechanism.

Your best bet is:
http://www.openstreetmap.org/
or perhaps collaborating with these fine folks:
http://code.google.com/p/andnav/

Related

Indoor Android Map

I would like to map a building (one from my University) and navigate through it using just the phone.
No wifi/gps/bluetooth. I will give the coordinates of my starting position by taping the screen or something similar (I can also use the user feedback for detecting the floor).
What should I use to create the actual map of the building (floor map)?
Could you give me some starting points/resources or describe how you would accomplish this task?
I've got suggestions that I should use openGL https://www3.ntu.edu.sg/home/ehchua/programming/android/Android_3D.html Or maybe JOSM but I don't know if it can be ported to Android and used for mobile navigation afterwards.
Is there a simpler way? What should I use instead?
What would be the next steps after creating the map? Should I consider developing the code for navigation by myself? Any starting points here as well or similar projects?
What should I use to create the actual map of the building (floor map)?
Does the map need to be dynamic? If not, you could simply draw the floor map and display on the screen the image with your position on top.
Is there a simpler way? What should I use instead?
Following your description I think the best solution would be using magnetic localization.
Basically you would read Earth's magnetic field with the corresponding sensor and navigate the place with said data.
There are third party services that provide this kind of computation, like IndoorAtlas. You can use their android SDK and set up the navigation system by uploading a map of the building and running an initial mapping of the magnetic readings with your phone.

Android Custom Dijkstra Map

I need to implement a map for a shopping mall in my app. This map needs to have a way to visually mark the fastest path to go from one place to another.
I currently have two options in mind. I could use the Google Maps API, overlay the shopping mall's picture and try to use some algorithm to mark the best route. Or, I could just place the picture and manually make an algorithm to mark the path (probably Dijkstra).
Yet, it's my first time working with Android, and I don't really know which one could work the best, and which libraries I could use.
I'd appreciate any tip or suggestion.
Google map has an android api that you can directly embed google maps into your application. You can also draw overlays using its api. Take a look at
google map android api

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.

Custom Google Map Types

I'm looking for a way to use custom map tiles with the Google Map API V2 for Android.
I'm writing an application that will create it's own maps in real time with data that are comming from a robot.
The application need to show to the operator this map. The operator need to interact with this map, letting way points, etc.
I want to use the GoogleMap engine in order to do the same that in this page :
http://cdn.mikecouturier.com/blog.mikecouturier.com/tilesgenerator/index.html
The problem is, this guy use the [javascrip API]
But me, I want to use the [Android API]
Are there any way to use Custom tiles map on android with the GoogleMap Engine ?
Thank's a lot
PS : I'm already looking how to use ArcGIS. But, i prefer using API without paying license, thanks
By using GoogleMap.setMapType(MAP_TYPE_NONE) you will get an empty map.
Using e.g. the CanvasTileProvider I have described in the answer to this SO question you may then draw anything into the tiles.

Google Maps Drawing Tools for Android

I need to make an Android app where the users have an option to draw a polyline on Google Maps and when the touch is removed, then do some action with the plotted polyline. Drawing and performing action is secondary. But the question is how could I achieve this?
Is there any predefined drawing tool (something like http://googlegeodevelopers.blogspot.in/2011/11/make-your-map-interactive-with-shape.html for JavaScript) to be used in google maps, or do I need to go with customization? Please suggest, or provide any links.
And can we extract the points to compare them with the ideal answer which was to be traced?
But the question is how could I achieve this?
With code. ;)
do I need to go with customization?
Yes. You would have to code all the functionality yourself. AFAIK there is no library that does that and of course Google Maps Android API v2 doesn't (and most probably won't) provide such functionality because it is too specific. I still think this would make a pretty useful library.
And can we extract the points to compare them with the ideal answer which was to be traced?
Yes. That would be simple after you are done with everything else.
Polyline polyline = ...
List<LatLng> extractedPoints = polyline.getPoints();
Simply use google maps api Google map API v2 following link might help you with the code.
code reference

Categories

Resources