Из моего приложения я хотел бы запустить приложение 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 запускается, оно выглядит следующим образом:
Не отображается маркер. Я хотел бы, чтобы приложение Google Maps отображало маркер в этой позиции, который предоставляется через Intent. Есть ли какой-либо "скрытый" URI Intent, который я могу использовать для показа маркера в приложении Google Maps?
Спасибо заранее.
Решение
@Rajiv M. указал мне на идею опроса окружения с данным местоположением.
Итак, решение таково: запросите окружение вашего данного местоположения с заданным вами местоположением в качестве параметра. URI выглядит так:
geo:51.49234,7.43045?q=51.49234,7.43045
Google Maps покажет результат запроса как название улицы:
Вид взлома, но, похоже, он работает хорошо.
Почему вы не должны использовать 0,0 в качестве местоположения карты
geo:0,0?q=51.49234,7.43045
Когда вы запустите приложение "Карты Google" с предоставленной точкой местоположения карты 0,0, приложение Google Maps начнет поиск вашей текущей позиции устройства. И это требует времени. В некоторых случаях, когда сигнал GPS не предоставляется, слишком много. До этого приложение Google Maps начнет поиск вашего запроса 51.49234,7.43045.