как получить значение длины и широты четырех углов в представлении карты в Android?

StackOverflow https://stackoverflow.com/questions/2476347

Вопрос

я работаю над просмотром карты.я хочу поместить элемент наложения на вид карты.все элементы наложения зависят от текущего вида карты и уровня масштабирования.как получить долготу и широту текущего вида карты в этом четырех углах и как проанализировать, сколько элементов наложения внутри него.также нам нужно проверить уровень масштабирования. Есть идеи?как это сделать?

Это было полезно?

Решение

Я думаю, тебе придется использовать

mapview.getProjection().frompixel(intx, int y)

Для 4 углов вашего экрана (вы можете получить их координаты с помощью getwidth и getheight на вашем MapView, начиная с (0,0), (getwidth(),0), (0,getheight()) и (getwidth()). , получить высоту())

Это даст вам 4 геоточки, из которых вы сможете извлечь широту и долготу.

Другие советы

Если вы используете google-play-services библиотека и SupportMapFragment в частности.

this.getMap() даст вам экземпляр GoogleMap (который оборачивает MapView)

Тогда просто:

map.getProjection().getVisibleRegion();

Вы ищете что-то подобное?

Projection proj = mapView.getProjection();
GeoPoint topLeft = proj.fromPixels(0, 0);

GeoPoint bottomRight = proj.fromPixels(mapView.getWidth()-1, mapView.getHeight()-1);

double topLat = topLeft.getLatitudeE6()/1E6;
double topLon = topLeft.getLongitudeE6()/1E6;
double bottomLat = bottomRight.getLatitudeE6()/1E6;
double bottomLon = bottomRight.getLongitudeE6()/1E6;

Надеюсь, поможет!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top