У меня есть приложение, в котором я хочу показать разные местоположения (по одному, выбранные пользователем), запустив Google Maps с их конкретными географическими координатами.
В настоящее время я использую это (конечно, с настоящими значениями широты и долготы):
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:<lat>,<long>?z=17"));
startActivity(intent);
Это именно то, что я хочу, за исключением того, что он не показывает никаких индикаторов или маркеров для указанной точки. Он центрируется только в этом месте.
Есть ли способ включить маркер или что-то еще без использования MapView?
Ответы:
Попробуй это:
Вы можете опустить (Метка + Имя), если вам не нужна метка, и она будет выбирать ее случайным образом в зависимости от ближайшей улицы или другого объекта, который сочтет подходящим.
источник
geo:
части, указал lke robpvn. В некоторых случаях запрос с использованием широты и долготы завершится ошибкой, и тогда вы просто получите тост «нет результатов» вместо того, чтобы вернуться к геоточкам. Не очень полезно для любого приложения ГИС.Принятый ответ правильный, кроме случаев, когда на вашей этикетке есть амперсанд (&).
Глядя на универсальный идентификатор ресурса для географических местоположений ( «гео» URI) :
В разделе 5.1 говорится:
К сожалению для нас, это также позволит избежать символа '=', чего мы не хотим.
Мы должны сделать это:
источник
Есть еще много вариантов запуска карты Google с помощью намерения ...
1)
2)
3)
источник
)
второй путь.Эта строка мне подходит:
источник
Попробуйте добавить (LocationMarkerName) к geo: uri. Например, "geo:,? Z = 17 (LocationMarkerName)"
В Google Maps на Android, выполняющем поиск 23.0980,30.6797 (NamedMarker), кажется, что он центрирует карту и помещает маркер с именем NamedMarker в эту позицию.
источник
Я только что подтвердил, что следующий фрагмент от @Kenton Price все еще работает на Android 4.4 (KitKat):
источник
Я использовал наложения только с MapView для рисования маркеров поверх карты. Если в представлении отображается карта, можно просто нарисовать маркер в центре экрана таким же образом, как если бы вы рисовали любое изображение в представлении.
Однако маркер не будет связан с фактическими координатами карты, но если это просто статический вид, это может быть сделано.
источник