我正在尝试使用Waze在地图上显示一个点。
这意图:
String link = geo:?ll=32.26944,34.890442&z=10;
new Intent(Intent.ACTION_VIEW, Uri.parse(link))
而不是显示它让我进入导航模式。 奇怪的是,如果我使用谷歌地图,那么它可以正常工作。
这是Waze或我的代码的问题吗?
答案 0 :(得分:5)
正如您所见here,他们更简单:
以下是可用参数:
search for address: waze://?q=<address search term>
center map to lat / lon: waze://?ll=<lat>,<lon>
set zoom (minimum is 6): waze://?z=<zoom>
<强>示例:强>
center map to Ayalon and set zoom to 10 waze://?ll=37.44469,-122.15971&z=10
search for address: waze://?q=San%20Jose%20California
直接使用Android API:
以下代码段示例将启动Waze查找 指定的位置,如果安装了Waze。如果Waze没有安装它 将在市场应用程序上打开Waze页面。
try
{
String url = "waze://?q=Hawaii";
Intent intent = new Intent( Intent.ACTION_VIEW, Uri.parse( url ) );
startActivity( intent );
}
catch ( ActivityNotFoundException ex )
{
Intent intent =
new Intent( Intent.ACTION_VIEW, Uri.parse( "market://details?id=com.waze" ) );
startActivity(intent);
}
答案 1 :(得分:1)
String uri = "geo:" + latitude + ","
+longitude + "?q=" + latitude
+ "," + longitude;
startActivity(new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse(uri)));
这个答案的优点是可以调用所有处理此功能的应用程序。在手机中,它显示了Google地图,Google地球和Waze。
推荐:使用ShareActionProvider!它显示处理地理位置的所有可能应用程序的列表。
答案 2 :(得分:0)
尝试仅输入32.26944 34.890442。不要在坐标之间使用逗号