Навигационное намерение, которое будет работать с картами и 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);