Запуск приложения 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 намерения, которые я могу использовать для отображения маркера в приложении Google Maps?

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

Решение

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

Итак, решение: запросить окружение вашего данного местоположения с вашим данное местоположение в качестве параметра. 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 Приложение «Карты» начнет поиск вашего текущего местоположения на устройстве. А это требует времени. В некоторых случаях, когда сигнал GPS не предоставляется, слишком много. А пока приложение Google Maps начнет поиск по вашему запросу 51.49234,7.43045.

19
задан AZ13 27 August 2012 в 07:30
поделиться