Навигационное намерение, которое будет работать с картами и waze

Я пытаюсь начать навигационную деятельность с намерением моего приложения. Я хочу, чтобы он начал навигацию с моего местоположения до той точки, которую я предоставляю. Я пробовал этот путь

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

Спасибо!

Ответы

Ответ 1

Я сделал это сам и не имел проблем, используя его следующим образом:

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

Разница в том, что я использую "& q =" для запроса, как указано Google.

См: https://developer.android.com/guide/components/intents-common.html#Maps

Ответ 2

ok Карты Google

    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);