Вы можете сделать это с помощью этой команды:
private void openMapGeo(String latitude, String longitude) {
Intent intent2 = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:" + latitude + ","
+ longitude + "?z=17&q=" + latitude + "," + longitude));
// z stands for zoom level
// replace the q with a search string works too. Example:
// intent2 = new Intent(Intent.ACTION_VIEW,
// Uri.parse("geo:0,0?q=Tokyo"));
startActivity(intent2);
}
Другой способ - использовать URL-адрес веб-сайта карт. Это спросит пользователя, хочет ли он открыть приложение карт (если оно установлено) или браузер:
private void openMapUrl(String latitude, String longitude) {
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://maps.google.com/?q=" + latitude + "," + longitude));
startActivity(intent);
}
Некоторые другие примеры здесь: https://github.com/pboos/GoogleMapExamples (посмотрите там на файл Presentation.pdf)
EDIT:
Чтобы использовать оба вышеперечисленных в зависимости от того, установлено ли приложение Google Maps, сделайте это (обе вышеуказанные функции также должны существовать):
private void openMap(String latitude, String longitude) {
try {
ApplicationInfo info = getPackageManager().getApplicationInfo("com.google.android.apps.maps", 0 );
openMapGeo(latitude, longitude);
} catch(PackageManager.NameNotFoundException e) {
openMapUrl(latitude, longitude);
}
}