Как получить значение long & lat четырех углов в просмотре карты в Android?

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

3 ответа

Решение

Я думаю, что вы должны использовать

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;

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

Другие вопросы по тегам