Android mapview overlays как взять координаты объектов

получить координаты можно, нажав на карту (openstreetmaps)

Как мы можем получить координаты точки, нажав на нее в открытых картах улиц?

твое здоровье, Танасио

5 ответов

Я пытаюсь получить координаты y на xy plot, нажав на plot. Это очень похоже на функцию ginput, которая генерирует курсор и, нажав на plot, вы можете получить координаты x и y, где находится курсор. Однако для моей конкретной цели я хочу, чтобы линия пересекала фигуру вместо курсора в качестве.

Как получить координаты, если пользователь нажимает на карту по MapViewer? Мне нужно, чтобы двое координировали начало и пункт назначения для моего приложения маршрутизации. Поэтому пользователь должен нажать на карту, и приложение должно вернуть координаты и установить точку на месте. То же самое.

Используйте метод dispatchTouchEvent() . Это работает, потому что MapActivity наследует событие dispatchTouch , а не OnTouchEvent из класса Activity.

Это моя собственная реализация MapView, чтобы получить местоположение на карте.

Чтобы получить местоположение, установите только интерфейс OnTapListener.

Возможно ли построить карту с помощью google maps API или Openstreetmaps, которая имеет наложенный слой, отображающий районы города? Например, Манхэттен-это регион в пределах Нью-Йорка, и я хотел бы иметь возможность построить границы этого региона и любых соседних регионов на карте. Где можно.

Хочу попросить помощи разобраться с возможным использованием нестандартных координат на карте Leaflet. Я хочу использовать Leaflet для отображения пользовательских карт с помощью моего собственного генератора плиток. Плитки генерируются на лету скриптом в зависимости от того, где планируется их.

Вы должны создать Overlay и переопределить onSingleTapConfirmed .

@Sandy является правильным, но вместо onTap() переопределяет метод onSingleTapUp(MotionEvent e, MapView mapView) или onSingleTapConfirmed(MotionEvent e, MapView mapView) , например

Попробуйте сделать следующее.

Напишите класс, производный от класса Overlay , и переопределите метод onTap(). Затем вы можете добавить свой оверлей в свой MapView . Объект GeoPoint, представляющий положение нажатия, передается методу onTap() при закладке где-либо на карте.

Похожие вопросы:

я разрабатываю приложение android, которое будет обнаруживать пробки и карту на openstreetmaps.in навигации между моим текущим местоположением и пунктом назначения, если обнаружена пробка.

Так что этот вопрос может показаться некоторым из вас очень тривиальным, но потерпите меня, пожалуйста, я новичок в этих вещах. Я пытаюсь создать настольное приложение с использованием Java, которое.

Я задался вопросом, есть ли способ динамически генерировать координаты области карты, щелкая определенные части изображения. Это делается для того, чтобы создать полную карту изображений. В качестве.

Я пытаюсь получить координаты y на xy plot, нажав на plot. Это очень похоже на функцию ginput, которая генерирует курсор и, нажав на plot, вы можете получить координаты x и y, где находится курсор.

Как получить координаты, если пользователь нажимает на карту по MapViewer? Мне нужно, чтобы двое координировали начало и пункт назначения для моего приложения маршрутизации. Поэтому пользователь.

Возможно ли построить карту с помощью google maps API или Openstreetmaps, которая имеет наложенный слой, отображающий районы города? Например, Манхэттен-это регион в пределах Нью-Йорка, и я хотел бы.

Читайте также:  Лучший файтинг для андроид

Хочу попросить помощи разобраться с возможным использованием нестандартных координат на карте Leaflet. Я хочу использовать Leaflet для отображения пользовательских карт с помощью моего собственного.

Могу ли я сделать так, чтобы пользователь мог нажать на карту и получить координаты выбранного места, используя JavaScript?

Я пытаюсь получить ограничение скорости на указанной дороге, используя координаты, я пытался использовать OpenStreetMaps, но я очень новичок в этом API запросе, как бы вы отправили запрос информации.

Мне нужно приложение, которое показывает мне координаты, когда я нажимаю на карту. Поэтому я интегрировал Google Maps в свое приложение и попытался показать координаты с помощью приведенного ниже.

Источник

Путь с указателями направления на карте с использованием Yandex Map Kit для Android

В этом сообщении рассмотрим:

  1. Встраивание библиотеки Yandex Map Kit Android в проект
  2. Создание расширения для класса Overlay с целью вывода на карту пути с указателями направления и обработки событий «onClick» по карте

1. Встраивание библиотеки в проект (Eclipse, Windows)

Загружаем архив с библиотекой отсюда и получаем API-ключ.
Создаем проект в Eclipse, копируем с заменой папки \yandexmapkit-library\res и \yandexmapkit-library\libs из загруженного архива в папку нашего проекта.
В настройках проекта добавляем ссылку на yandexmapkit-android.jar из папки libs нашего проекта (Build Path->Configure Buil Path->Libraries->Add External JARs)
Добавляем разрешения в манифест нашего проекта

Изменяем разметку activity

2. Создание расширения для класса Overlay с целью вывода на карту пути с указателями направления и обработки событий «onClick» по карте

Чтобы нарисовать путь, нам потребуется расширить класс OverlayIRender, который реализует интерфейс IRender

Если количество точек добавленных в наш путь больше 1, то в цикле отрисовываются отрезки пути и стрелки направления.
Теперь нужно создать наследника Overlay MyPathOverLay, назначить ему MyOverlayIRender для отрисовки.

Источник

Android mapview overlays как взять координаты объектов

Android MapView Tutorial

November 14, 2017

This tutorial is a continuation of Google maps in android apps tutorial and shows how to use MapView instead of SupportMapFragment to display Google maps in android applications. It also covers Google maps UI controls or settings, gestures, events and lite mode topics which were not covered in the previous tutorial Google maps android tutorial. You can find initial setup required to use Google maps android API in android projects at Google maps android tutorial.

If you want to learn android and its latest features with examples. Please visit android tutorials to learn android concepts, components and libraries with examples.

Defining MapView in Layout

To display maps in your android app, you need to first add MapView to activity layout.

Activity MapView

In the activity, get the MapView object and call getMapAsync on it passing OnMapReadyCallback handler. And also you need to make sure that you call onCreate, onSaveInstanceState, onResume, onStart, onStop, onPause, onDestroy and onLowMemory methods on MapView object in the corresponding activity lifecycle methods.

In the OnMapReadyCallback’s onMapReady method you can get GoogleMap object and apply required settings to customize the map.

Google Maps UI Controls

You can enable UI controls such as compass, zoom controls, indoor level picker, and map tool bar by setting related attributes in xml or programmatically. By default UI controls are not displayed.

Compass will be visible on rotating the map.

Map toolbar will be visible on touching a marker. Map tool bar contains actions which take you to directions screen, google map app etc.

Indoor level picker is applicable for building with floor plans, which allow you to see floor plan of selected level. First you need to enable indoor maps by calling setIndoorEnabled and setting it true on GoogleMap object.

Читайте также:  Как заменить рабочий стол андроида

Google Maps Gestures Setting

By default user can tilt, pinch to stretch, zoom, rotate and scroll map. If you don’t want to provide these options to user, you can disable any or all of the gestures. Below example shows how to disable gestures by calling setRotateGesturesEnabled, setScrollGesturesEnabled, setTiltGesturesEnabled and setZoomGesturesEnabled methods on UiSettings object.

Google Maps Camera Position

You can change the camera position programmatically or in xml. Some of the camera position attributes are target position, bearing, tilt and zoom. Bearing is the direction the camera is pointing, which is in degrees clock wise from north. Tilt is camera angle in degrees from the line when it is directly facing the earth.

Classes which are used to configure camera position are CameraPosition.Builder, CameraPosition, CameraUpdate and CameraUpdateFactory. Using CameraPosition.Builder, you can define camera position and then you can apply new camera position to GoogleMap using moveCamera method which takes CameraUpdate as parameter.

To get CameraUpdate object, you need to CameraUpdateFactory and its methods. If you use CameraPosition.Builder and create CameraPosition, you can get CameraUpdate object for that using newCameraPosition method of CameraUpdateFactory.

You can update camera position in response to events. Below example shows how to update camera position.

Camera Position Update in Response to Events

Camera position can be updated in response to events, below example shows zoom change in response to OnMapClick event using OnMapClickListener as shown below.

Google Maps Event Listeners

There are several event handlers which you can implement and add to GoogleMap to provide custom behavior in response to user interaction on Google maps.

OnCameraIdleListener

OnCameraIdleListener’s onCameraIdle method is called after camera moves. You can add the listener to GoogleMap object by calling setOnCameraIdleListener.

OnCameraMoveListener

OnCameraMoveListener’s onCameraMove method is called while camera moves. You can add the listener to GoogleMap object by calling setOnCameraMoveListener.

OnCameraMoveStartedListener

OnCameraMoveStartedListener’s onCameraMoveStarted method is called when camera motion starts. You can add the listener to GoogleMap object by calling setOnCameraMoveStartedListener. Based on the reason for camera motion, you can do something. Possible reasons for camera motion are GoogleMap.OnCameraMoveStartedListener.REASON_API_ANIMATION, GoogleMap.OnCameraMoveStartedListener.REASON_DEVELOPER_ANIMATION and GoogleMap.OnCameraMoveStartedListener.REASON_GESTURE

OnCircleClickListener

OnCircleClickListener’s onCircleClick method is called when a circle on the maps is clicked. You can add the listener to GoogleMap object by calling setOnCircleClickListener. In onCircleClick method, you can use Circle object, which is clicked, to change circle settings or other customizations on map.

OnInfoWindowClickListener

OnInfoWindowClickListener’s onInfoWindowClick method is called when marker’s info window is clicked. You can add the listener to GoogleMap object by calling setOnInfoWindowClickListener. Method onInfoWindowClick is passed the Marker object to which info window anchored. Using the Marker object, you can customize marker or info window in the handler method.

OnInfoWindowCloseListener

OnInfoWindowCloseListener’s onInfoWindowClose method is called when info window is closed. You can add the listener to GoogleMap object by calling setOnInfoWindowCloseListener.

OnMarkerClickListener

OnMarkerClickListener’s onMarkerClick method is called when a marker is clicked. You can add the listener to GoogleMap object by calling setOnMarkerClickListener. Return true to override the default behavior.

OnPoiClickListener

OnPoiClickListener’s onPoiClick method is called when any point of interest on the map is clicked. You can add the listener to GoogleMap object by calling setOnPoiClickListener method. PointOfInterest object which is passed to onPoiClick method can be used to get information about point of interest and do something like adding marker to POI and moving camera to POI as shown in the below example.

OnPolygonClickListener

OnPolygonClickListener’s onPolygonClick method is called when a polygon is clicked. You can add the listener to GoogleMap object by calling setOnPolygonClickListener, using polygon object passed to the handler method, you can customize the map.

Читайте также:  Android kotlin edittext textwatcher

Google Map Lite

You can display Google map in lite mode in android apps by setting lite mode attribute to true in xml or programmatically. You can set zoom, add marker, info window and shapes and select one of the supported map types to map, but lite mode doesn’t support camera tilt and bearing. User viewing the lite map can’t zoom or pan.

Lite mode xml attribute

To enable lite mode in xml layout, you need to set liteMode attribute to true.

Enabling lite mode programmatically

To enable lite mode in code, you need to instantiate MapView passing GoogleMapOptions object to constructor and then add the MapView object to layout. GoogleMapOptions contains lite mode attribute which you need to set to true.

About

Android app development tutorials and web app development tutorials with programming examples and code samples.

Источник

Интеграция карт в ваше Android-приложение

Есть много разных идей, для реализации которых могут понадобиться карты на мобильных устройствах.
Возможности таких устройств позволяют довольно оперативно получать информацию о местоположении, графические данные и графические преобразования для отображения объёма ландшафта.

В данном статье я расскажу как интегрировать возможность просмотра карт для мобильных устройств на основе Android, на примере Yandex Карт и Google Maps.
Функционал библиотек этих компаний позволяет:

  • Перемещать карту
  • Изменять масштаб
  • Изменять виды карт
  • Получать события от карты

Начнём с отечественного производителя.

Yandex

Библиотеку Yandex MapKit можно скачать с GitHub’а, там же есть версия и для iOS.
Но прежде чем начать использовать, нам надо получить API-key, для этого идём на почту и пишем письмо в support@mobmaps.yandex.ru, указав в заголовке «Map Kit запрос API-ключа». В ответ вам пришлют письмо с указанием дополнительных ссылок на документацию, на правила использования и собственно с самим ключом в теле письма (а могут и не прислать, кстати).

Пока ждём письмо, берём библиотеку и прикрепляем её к проекту.

После долгого ожидания с кружкой кофе, знакомимся с содержимым письма и информации по ссылкам, берём ключик и пишем в вашем layout’е приложения следующий код:

где заместо «you are key» вставляем полученный ключ. Всё, карта есть.

Далее код показывает, как перемещать карту на заданную координату и использовать зум:

Google

Для использования Google Maps надо совершить куда более изощрённые действия. Я расскажу, как получить debug-key для использования карт, но процесс получения release версии похоже несколько замороченней, но я release ещё не получал.

Для получения debug-key, надо найти ваше хранилище ключей, для отладки.
По-умолчанию, путь будет выглядеть примерно так:

Затем открываем командную строку, переходим в каталог, куда установлена Java:

где путь_до_хранилища_ключей — свой путь до debug.keystore (осторожно, возможны проблемы с пробелами в пути).

После чего в том же окне будет выведен md5-ключ после «Certificate fingerprint (MD5)».
Идём по ссылке и регистрируем код.
После чего Google сгенерирует с нужным кодом для layout и встроенным кодом, берём его и вставляем к себе в layout.
Далее нам, надо наш Activity представить в примерно следующем виде:

Замечу, что Activity наследован должен быть от MapActivity хранящийся в com.google.android.maps.MapActivity.
А в манифесте прописать между тегами вставить:

И не забыть, про разрешение доступа в интернет для приложения:

В остальном функционал GoogleMaps и YandexMapKit весьма схож:

Как можно видеть, процесс интеграции карт в приложения довольно простой, а спектр использования довольно широк.
Более подробно можно ознакомиться ниже.

Определение собственной позиции

Чтобы немного расширить пример, приложу кусок кода:

Но для использования этого кода, в манифесте следует указать следующее разрешение:

Источник

Оцените статью