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
This is a simple way and works on both of them:
Java
String uri = "geo: latitude,longtitude ?q= latitude,longtitude";
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(uri)));
Kotlin
val uri = "geo: $latitude,$longtitude ?q= $latitude,$longtitude"
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(uri)))
I hope this will be useful
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With