我有一个简单的Android应用,应该可以在2 GeoPoint
之间导航。
我可以轻松地在Waze上显示GeoPoint
,写下这小段代码:
String uri = "waze://?ll=40.761043, -73.980545&z=10";
startActivity(new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri)));
但是,我真正需要的是一种显示2点之间导航方向的方法。
我试图在Waze源中找到正确的BroadcastReciever
,但是当它到达本机调用(JNI)时我停止了跟踪,因为我不知道实际调用的位置...我只到达了{ {1}}签名,没有成功找到实现......
有什么想法吗?
感谢。
答案 0 :(得分:13)
修复你的意见:
String uri = "waze://?ll=40.761043, -73.980545&navigate=yes";
(添加了导航=是),你应该很好。
答案 1 :(得分:9)
如果这仍然相关,您可以使用:
String uri = "geo: latitude,longtitude";
startActivity(new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse(uri)));
答案 2 :(得分:3)
今天的Waze
基本网址为https://waze.com/ul
,因此要导航,您必须使用
https://waze.com/ul?ll=45.6906304,-120.810983&navigate=yes
答案 3 :(得分:0)
您可以做[kotlin]:
fun openWaze(latitude: Double, longitude: Double) {
packageManager?.let {
val url = "waze://?ll=$latitude,$longitude&navigate=yes"
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
intent.resolveActivity(it)?.let {
startActivity(intent)
} ?: run {
Toast.makeText(context, R.string.noWazeAppFound, Toast.LENGTH_SHORT).show()
}
}
}
答案 4 :(得分:0)
根据有关使用Waze的Google文档,您可以使用以下代码从android应用中打开Waze:
try {
// Launch Waze to look for Hawaii:
String url = "https://waze.com/ul?ll=40.761043,-73.980545&navigate=yes";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
} catch (ActivityNotFoundException ex) {
// If Waze is not installed, open it in Google Play:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.waze"));
startActivity(intent);
}