Подтвердить что ты не робот

Запуск приложения Google Maps с предоставленным местоположением и маркером

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

На данный момент у меня есть следующий код, который начинается с намерения приложения Google Maps с предоставленным местоположением (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 отображало маркер в этой позиции, который предоставляется через Intent. Есть ли какой-либо "скрытый" URI Intent, который я могу использовать для показа маркера в приложении Google Maps?

Спасибо заранее.

Решение

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

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

geo:51.49234,7.43045?q=51.49234,7.43045

Google Maps покажет результат запроса как название улицы: enter image description here

Вид взлома, но, похоже, он работает хорошо.

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

geo:0,0?q=51.49234,7.43045

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

4b9b3361

Ответ 1

Попробуйте запустить Google Maps с использованием того же намерения, но с URI формата:

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

то есть. гео: 0,0 кв = улица + адрес

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

-

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

Ответ 2

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

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