I'm trying to start a navigation activity with an intent from my app. I want it to start navigation from my location to a point that I provide. I've tried this way
String uri = "geo: "+String.valueOf(latitude) + "," + String.valueOf(longitude);
context.startActivity(new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse(uri)));
It works great when I choose to navigate with Waze
(it starts with the "start navigation" dialog right away), but doesnt work with maps
(only shows the point, not the navigation option)
If I use this way
Intent intent =
new Intent(Intent.ACTION_VIEW,
Uri.parse("http://maps.google.com/maps?" +
"&daddr=" + String.valueOf(latitude) + ","
+ String.valueOf(longitude)));
context.startActivity(intent);
Its the opposite, starting the navigation with maps
and only showing the point with Waze
Thanks!
I've done this myself and have had no issues using it the following way:
intent.setData(Uri.parse("geo:" + getLatitude() + "," +
getLongitude() + "?q=" + getStreet() + "+" +
getHousenumber() + "+" + getPostalcode() + "+" +
getCity()));
The difference is that I use "&q=" for the query as stated by Google.
See: https://developer.android.com/guide/components/intents-common.html#Maps