How can I draw a path from my location to another location? - android

How can i draw a route between my location and another location without using the google navigation?

I found the answer use this http://asmncl.blogspot.in/2012/04/android-draw-route-map-between-two.html with the location manager to get the lat & long of your current position

Related

get google maps data with retrofit 2

I try to get the distance between two points by showing them together with a polyline. One marker is permanently somewhere and the other the user chooses the place they want when clicking on the map. I tried with many codes obtained from the Internet but for me neither works or just gives me the marker of a place with the latutude and longitude. I want to use retrofit 2 to bring the information. Can anyone help me with that?
On clicking on map you are placing marker, So if you want to get location of that marker then simply you can got that marker position using that marker object like this.
Double latitude = marker.getPosition().latitude;
Double longitude = marker.getPosition.longitude;
and you have already one location so you can find distance between two locations using this.
locationFrom.distanceTo(locationDestination);
here locationFrom is your source location from where you want to find distance and locationDestination is your destination location to where you find distance.

Figure out Latitude and Longitude

I am trying to develop an android application that can do task according to the lat/long. This is something like if I am in particular suburb (Lets say I am in Belconnen, ACT Australia, I would like to get the details of that place automatically) - if I move out the border of belconnen then I have to show some other details.
If you check this google maps link: http://goo.gl/4mItcF you would see the red border is only belconnen suburb.
My question is how do I give the borders in my App (meaning how do I tell my App that I am now in belconnen, ACT? Is it by getting lat/long along the borders store them in DB and check if I am inside required lat/long, if that is the case DB would have huge numbers only for Belconnen, ACT right?
Or is there an easier way to get the borders?
Let me know!
Thanks!
There is a way , it is called Reverse Geocoding. You can use it by two ways :
1. Using Geocoder class of Android -
Geocoder gcd = new Geocoder(context, Locale.getDefault());
List<Address> addresses = gcd.getFromLocation(lat, lng, 1);
if (addresses.size() > 0)
System.out.println(addresses.get(0).getLocality());
Here you use lat = -35.2374551 and lng = 149.0672515 for Belconnen, ACT Australia. Check out the function getFromLocation for more information.
2. Using Google REST Web Services :
https://maps.googleapis.com/maps/api/geocode/json?latlng=-35.2374551,149.0672515 (JSON)
https://maps.googleapis.com/maps/api/geocode/xml?latlng=-35.2374551,149.0672515 (XML)
pass comma separated latitude and longitude and u will get the most precise location for that in response. Find more information here Reverse Geocoding google API
As soon as you go out of Belconnen, ACT Australia, the address in response will no longer contain this and you can put some logic to get your desired behavior.
As far as i understand, you would like to create a Location Aware Application.
As per the Android documentation, Google Play services location APIs are preferred over the Android framework location APIs (android.location) as a way of adding location awareness to your app.
Step 1 - Knowing the current Location of the User
Google recommends to use FusionProvider API for this purpose. It is one of the location APIs in Google Play services where you can specify requirements at a high level, like high accuracy or low power. It also optimizes the device's use of battery power.
https://developer.android.com/reference/com/google/android/gms/location/FusedLocationProviderApi.html
Step 2 - Based on the latitude and Longitude information retrieved in the location object, you can use the below Google web service to get the postal code of the location.
http://maps.googleapis.com/maps/api/geocode/json?latlng=lattitude,longitude&sensor=true
Step 3 - How Frequent can we retrieve the location information
Turning on the listeners continuously will impact the device battery highly. So, to avoid this, we need to minimize the frequency of retrieving the location information.
I would recommend to measure the distance traveled by the user and based on that set the next location update trigger. Since you are concerned about boundary only, we can set a high value based on the device acceleration.
Refer the below links for more details on how to implement this effectively.
https://stackoverflow.com/a/11644809/623517
Hope this helps.
You can get full address from lat long and then search your city or location. This answer explain how to do it : How to get complete address from latitude and longitude?
If you want further flexibility you can use geofence : http://developer.android.com/training/location/geofencing.html
You can approximate the region with LatLngBounds (com.google.android.gms.maps.model.LatLngBounds).
Use it like this:
LatLngBounds.Builder builder = new Builder();
for (int i=0; i<points.length; i++) {
builder.include(points[i]);
}
LatLngBounds bounds = builder.build();
And then check if your location falls inside it:
if (bounds.contains(myLatLng)) {
//your implementation
}
I know this approach cannot give perfect results but it seems to be more efficient then using the geofences.
LocationManager lm;
lm=(LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
Criteria c=new Criteria();
String provider=lm.getBestProvider(c, false);
Location l=lm.getLastKnownLocation(provider);
double latitude = l.getLatitude(); // latitude
double longitude = l.getLongitude(); // longitude

How to mark evey next 100 meter travelled in map in android?

I am trying to get the GPS location co-ordinates(lat and lon vals) for every 100metrs.
For example, I am at particular location A and tried to fetch my current location using
location listener and shown in the map with marker, after that I have travelled 100metres and reached location B and again i tried to fetch location and shown in map with marker.
Good thing :-
i am getting but obvious new lat and lon cordinates for every next 100 meters.
Annoying Thing:-
Marker for location A and for location B getting overlapped always, so one cannot make out any sort of difference in between those two locations by dirrectly looking into map :(. How can I overcome this issue. Can you please guide me.?

Dispalying route travelled using latitude and longitude values in map

I have an android app which will continuously send location information to server (latitude and longitude values). Another application will retrieve these info and display it in textview.
What I need to do is in my second app which displays in text view I need to add a mapview which displays the location tarvelled by marking it on map using the latitude and longitude values.
How to do it ? Thanks in advance !
As you have fetched the location information, now you just need to mark points on the map view to show the desired location on map view, You should follow using google maps android
Here you will find a good example on how to add markers on mapview.

Android:current location

I've got an activity which when started on my android device overlays a small circle on the map view indicating where i am.
This is done using mylocationoverlay.
I want to know if there is any way to get the location details from mylocationoverlay.
Its very easy .
You can obtain your current location lattitude and longitude by the following code
Double lattitude = (double)(mMyLocationOverlay.getMyLocation().getLatitudeE6()/1E6);
Double longitude = (double)(mMyLocationOverlay.getMyLocation().getLongitudeE6()/1E6);
Hope it helps :)
http://code.google.com/android/add-ons/google-apis/reference/com/google/android/maps/MyLocationOverlay.html#getMyLocation%28%29
check the above link.. it might will help

Categories

Resources