可以使用地图和waze的导航意图

时间:2014-03-06 17:10:49

标签: android android-intent android-navigation

我正在尝试从我的应用程序启动导航活动。我希望它从我的位置开始导航到我提供的点。我试过这种方式

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的点

谢谢!

3 个答案:

答案 0 :(得分:23)

我自己完成了这项工作,并且在以下方式使用它时没有任何问题:

intent.setData(Uri.parse("geo:" + getLatitude() + "," + 
    getLongitude() + "?q=" + getStreet() + "+" + 
    getHousenumber() + "+" + getPostalcode() + "+" + 
    getCity()));

区别在于我使用"& q ="对于Google所述的查询。

查看: https://developer.android.com/guide/components/intents-common.html#Maps

答案 1 :(得分:3)

这是简单的方法,可同时在两者上使用:

x.view(-1, 64 * 4 * 4)

我希望这会有用

答案 2 :(得分:-3)

确定谷歌地图

    final String uri="http://maps.google.com/maps?f=d&hl=de&geocode=&saddr=" + Global.lattaxi + "," + Global.lontaxi + "&daddr=" + Global.latcliente + "," + Global.loncliente + "&ie=UTF8";
     final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));

    intent.setComponent(new ComponentName(
            "com.google.android.apps.maps",
            "com.google.android.maps.MapsActivity"));
    startActivity(intent);