我正在尝试根据我的应用的 Intent 启动导航 Activity 。我希望它从我的位置开始导航到我提供的点。这个方法我试过了
String uri = "geo: "+String.valueOf(latitude) + "," + String.valueOf(longitude);
context.startActivity(new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse(uri)));
当我选择使用 Waze
导航时效果很好(它会立即从“开始导航”对话框开始),但不适用于 maps
(仅显示点,而不是导航选项)
如果我用这种方式
Intent intent =
new Intent(Intent.ACTION_VIEW,
Uri.parse("http://maps.google.com/maps?" +
"&daddr=" + String.valueOf(latitude) + ","
+ String.valueOf(longitude)));
context.startActivity(intent);
相反,从 maps
开始导航,只用 Waze
谢谢!
最佳答案
我自己完成了这项工作,并且通过以下方式使用它没有任何问题:
intent.setData(Uri.parse("geo:" + getLatitude() + "," +
getLongitude() + "?q=" + getStreet() + "+" +
getHousenumber() + "+" + getPostalcode() + "+" +
getCity()));
不同之处在于我使用“&q=”作为谷歌所述的查询。
参见: https://developer.android.com/guide/components/intents-common.html#Maps
关于android - 适用于 map 和位智的导航 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22231297/