Запуск приложения Google Maps с указанием местоположения и маркера - PullRequest
19 голосов
/ 24 августа 2011

Из моего приложения я хотел бы запустить приложение Google Maps с указанным местоположением и маркером.Маркер должен указывать, что в данном месте есть что-то.

На данный момент у меня есть следующий код, который начинается с Intent Google Maps App с указанным местоположением (51.49234, 7.43045).

startActivity(
new Intent(
    android.content.Intent.ACTION_VIEW, 
    Uri.parse("geo:51.49234,7.43045")));

Когда приложение Google Maps запускается, оно выглядит следующим образом: enter image description here

Маркер не отображается.Мне бы хотелось, чтобы приложение Google Maps показывало маркер в той позиции, которая указана в намерении.Есть ли какие-либо "скрытые" URI намерений, которые я могу использовать для отображения маркера в приложении Google Maps?

Заранее спасибо.

Решение

@ Раджив М. указал мне на идею опроса окружения с данным местоположением.

Итак,Решение: Запрашивайте окрестности вашего заданного местоположения, указав ваше местоположение в качестве параметра.URI выглядит так:

geo:51.49234,7.43045?q=51.49234,7.43045

Карты Google будут отображать результат запроса в виде названия улицы: enter image description here

Вид хака, но, похоже, он работает хорошо.

Почему не следует использовать 0,0 в качестве местоположения на карте

geo:0,0?q=51.49234,7.43045

Когда вы запускаете приложение Google Maps с предоставленной точкой местоположения на карте 0,0, Google Maps Appначнет поиск вашей текущей позиции устройства.И это требует времени.В некоторых случаях, когда сигнал GPS не предоставляется, слишком много.До этого приложение Google Maps начнет поиск по вашему запросу 51.49234,7.43045.

Ответы [ 2 ]

16 голосов
/ 24 августа 2011

Попробуйте запустить Карты Google с тем же намерением, но с URI в формате:

geo:34.067214,-118.349332?q=410+Hauser+Boulevard,+Los+Angeles,+CA

т.е. гео: 0,0? Q = улица + адрес

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

-

Другой вариант - встроить MapView в ваше приложениеи добавить маркер в этом.Учебное пособие по использованию MapViews / Markers в вашем приложении можно найти по адресу http://mobiforge.com/developing/story/using-google-maps-android.

0 голосов
/ 23 февраля 2013

Может быть, вы можете попытаться указать ur uri, как показано ниже: Uri uri = Uri.parse ("http://maps.google.com/maps?q=" + _lat +", "+ _ lon);

Как минимум приведенный выше код работаетдля меня. Это помогает мне добавить точку булавки поверх местоположения, которое я ищу. Кроме того, у точки булавки будет маленькое диалоговое окно для нажатия, оно предоставляет мне функцию поиска направления к этому местоположению.: D

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