Вот этот пример из документа разработчика Google , где вместо URL-адреса вы используете URI geo:
Этот URI работает так:
Используйте намерение geo:
, чтобы отобразить карту в указанном месте и уровень масштабирования.
geo:latitude,longitude?z=zoom
Вот код, который его использует. Кроме того, он гарантирует, что Google Maps получит его, а не другое приложение, и если Maps не установлен, он просто ничего не делает, но вы можете добавить оператор else
, чтобы сообщить пользователю, что ему нужны Maps для выполнения действия * 1014. *
Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
if (mapIntent.resolveActivity(getPackageManager()) != null) {
startActivity(mapIntent);
}
Чтобы запустить навигацию, используйте google.navigation:q=latitude,longitude
. Начальной позицией будет текущее местоположение пользователя. См. эту часть сайта разработчика Google
Uri gmmIntentUri = Uri.parse("google.navigation:q=37.7749,-122.4194");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
if (mapIntent.resolveActivity(getPackageManager()) != null) {
startActivity(mapIntent);
}