Ярлык географического намерения не отображается в приложении Google Maps - PullRequest
14 голосов
/ 09 марта 2019

Поскольку мое приложение Google Maps недавно обновилось, теперь версия 10.11.1 , следующий код не показывает метку, как ожидалось, задокументировано и ранее работало:

  val intent = Intent(Intent.ACTION_VIEW, Uri.parse("geo:38.8951,100.0364?q=38.8951,100.0364(foo)")).setPackage("com.google.android.apps.maps")
  if (intent.resolveActivity(packageManager) == null) {
    intent.setPackage(null)
  }
  startActivity(intent)

И эта версия также (с 0,0 сразу после geo:):

  val intent = Intent(Intent.ACTION_VIEW, Uri.parse("geo:0,0?q=38.8951,100.0364(foo)")).setPackage("com.google.android.apps.maps")
  if (intent.resolveActivity(packageManager) == null) {
    intent.setPackage(null)
  }
  startActivity(intent)

Также пример кода в официальной документации не отображает метку:

// Display a label at the location of Google's Sydney office
Uri gmmIntentUri = Uri.parse("geo:0,0?q=-33.8666,151.1957(Google+Sydney)");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

no

Ответы [ 2 ]

8 голосов
/ 02 апреля 2019

По-прежнему нет решения, даже с последним обновлением карты 10.12.1, ярлык все равно не отображается, даже если в документации все еще говорится, что я должен был создать проблему в системе отслеживания проблем Google: https://issuetracker.google.com/issues/129726279

надеюсь, мыскоро будет информация.

1 голос
/ 27 марта 2019

Я столкнулся с той же проблемой сегодня.Следующие примеры Google не сработали.Единственный способ, которым это работает, - поставить lat / lng сразу после geo: и вообще не ставить их после ?q=.

Я делаю это так:

val gUri = Uri.parse("geo:${eventDetails.latitude},${eventDetails.longitude}?q=${Uri.encode(eventDetails.place)}")

В моем случае place - это не точный адрес, а просто название места / здания.Это, однако, может создать некоторые проблемы.Вместо того, чтобы размещать маркер по вашим координатам с указанным вами ярлыком, поиск в Картах Google смещает результаты в сторону указанной области, И может возвращать более одного результата.

Например, если я введу любой широту / долготу и«Оксфордский университет» как место, Google Maps доставит меня в район Оксфордского университета и поместит вокруг него дюжину маркеров, указывая на некоторые колледжи и т. Д.

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

Вопрос в том, является ли это ошибкой, плохо документированной или способом остановки.люди с размещением на карте фальшивых / ненастоящих ярлыков.

...