открывать карты Google через намерение для конкретного местоположения в android

Я разрабатываю одно приложение, в котором я хочу показать конкретное местоположение на карте. Я передаю String адреса, который уже размещен на Google Map . Ниже приведен код моего Intent ..

 String url = "http://maps.google.com/maps?daddr="+address; Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent); 

Но это дает мне карту Google для получения направления. Я знаю, почему это так, потому что я использовал daddr в url но я не знаю, что использовать для определенного местоположения. daddr скажите мне, что использовать там ..

Я не тестировал это, но вы могли бы попробовать:

Первый метод:

 String uri = String.format(Locale.ENGLISH, "geo:%f,%f", latitude, longitude); Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); context.startActivity(intent); 

EDIT: это может не сработать с картами Google 7,0

следовательно, вы можете изменить uri:

Второй вариант:

 String geoUri = "http://maps.google.com/maps?q=loc:" + lat + "," + lng + " (" + mTitle + ")"; 

где mTitle – название местоположения.

Третий вариант:

 geo:0,0?q=my+street+address 

Четвертый вариант:

 String map = "http://maps.google.co.in/maps?q=" + yourAddress; 

Надеюсь, что это работает и помогает: D ..

Get Lat-Lng Использование этого веб-сервиса

http://maps.google.com/maps/api/geocode/json?address=" + address + "&sensor=false

Затем перейдите к этому коду

  String strUri = "http://maps.google.com/maps?q=loc:" + lat + "," + lng + " (" + "Label which you want" + ")"; Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(strUri)); intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity"); startActivity(intent); 

Надеюсь, это поможет вам

Спасибо.

Последняя версия карты обеспечивает лучшее решение. Если вы хотите показать адрес на карте, используйте ниже код.

 Uri mapUri = Uri.parse("geo:0,0?q=" + Uri.encode(address)); Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapUri); mapIntent.setPackage("com.google.android.apps.maps"); startActivity(mapIntent); 

Если вы хотите отображать значения широты и долготы, используйте метод ниже.

 Uri mapUri = Uri.parse("geo:0,0?q=lat,lng(label)"); Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapUri); mapIntent.setPackage("com.google.android.apps.maps"); startActivity(mapIntent); 

Lat и lng – широта и долгота, которые вы хотите отобразить, ярлык здесь не является обязательным.

Вы должны использовать что-то вроде этого

 Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?saddr=20.344,34.34&daddr=20.5666,45.345")); startActivity(intent); 

И сбросить штырь

 try { Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("geo:" + AppointmentDetailLayout.docLatitude + "," + AppointmentDetailLayout.docLongitude + "?q=" + AppointmentDetailLayout.docLatitude + "," + AppointmentDetailLayout.docLongitude + "(" + label + ")")); intent.setComponent(new ComponentName( "com.google.android.apps.maps", "com.google.android.maps.MapsActivity")); context.startActivity(intent); } catch (ActivityNotFoundException e) { try { context.startActivity(new Intent( Intent.ACTION_VIEW, Uri.parse("market://details?id=com.google.android.apps.maps"))); } catch (android.content.ActivityNotFoundException anfe) { context.startActivity(new Intent( Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=com.google.android.apps.maps"))); } e.printStackTrace(); } 

Это будет работать как шарм. Обязательно проверяйте наличие на Картах Google, чтобы он мог работать повсеместно и на всех устройствах, отличных от Google. В таких случаях он откроется в браузере.

Также помните, что у вас нет www в URL. Иначе это не сработает.

  Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?q=loc:" + latitude + "," + longitude); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // Only if initiating from a Broadcast Receiver String mapsPackageName = "com.google.android.apps.maps"; if (Utility.isPackageExisted(context, mapsPackageName)) { i.setClassName(mapsPackageName, "com.google.android.maps.MapsActivity"); i.setPackage(mapsPackageName); } context.startActivity(i); 
 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); } 

См. Эту документацию

Этот вспомогательный метод с использованием uriBuilder для более чистого кода и условия обработки, если на устройстве нет активности, способной открывать карту

 public static boolean openMap(Context context, String address) { Uri.Builder uriBuilder = new Uri.Builder() .scheme("geo") .path("0,0") .appendQueryParameter("q", address); Intent intent = new Intent(Intent.ACTION_VIEW, uriBuilder.build()); if (intent.resolveActivity(context.getPackageManager()) != null) { context.startActivity(intent); return true; } return false; } 
  try { Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?saddr=" + src_lat+ "," + src_lng + "&daddr=" + des_lat + "," + des_lng)); startActivity(intent); }catch (ActivityNotFoundException ane){ Toast.makeText(activity, "Please Install Google Maps ", Toast.LENGTH_LONG).show(); }catch (Exception ex){ ex.getMessage(); } } }); 
  • Android - в чем смысл StableID?
  • onKeyListener не работает с мягкой клавиатурой (Android)
  • Как переключиться с по умолчанию ConstraintLayout на RelativeLayout в Android Studio
  • BroadcastReceiver Vs WakefulBroadcastReceiver
  • Рекомендуемый способ / порядок чтения данных из веб-службы, анализ этих данных и их вставка в SQLite db
  • savedInstanceState всегда имеет значение null
  • Как я могу сделать свои пользовательские объекты Parcelable?
  • Добавить эффект пульсации на мою кнопку с цветом фона кнопки?
  • Как обрабатывать событие onTouch для карты в Google Map API v2?
  • список вложенных списков в Android
  • android: использование ActivityGroup для включения действий
  • Interesting Posts

    При чтении CSV-файла с использованием DataReader и поставщика данных OLEDB Jet, как я могу управлять типами данных столбцов?

    Как сделать снимок экрана над чем-то большим, чем экран?

    Crash или «segmentation fault», когда данные копируются / отсканированы / прочитаны неинициализированному указателю

    Что быстрее, копируя все сразу или одно за раз?

    Как открыть монитор ресурсов в Windows 8?

    Как искать не ssl google?

    Неопределенная ссылка на vtable

    ./configure: строка 2178 разрешено config.log

    Сортировка TreeMap по значению

    Почему я не могу инициализировать нестационарный статический член или статический массив в classе?

    Не удалось найти имя типа или имени пространства

    Как зашифровать USB-накопитель?

    Могу ли я печатать специальную бумагу по размеру стенда в слове?

    Docker – способ предоставить доступ к USB-порту или последовательному устройству?

    Если «a == b» является ложным при сравнении двух объектов NSString

    Давайте будем гением компьютера.