как получить значение long & lat четырех углов в просмотре карты в Android? - PullRequest
8 голосов
/ 19 марта 2010

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

Ответы [ 3 ]

11 голосов
/ 19 марта 2010

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

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

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

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

7 голосов
/ 08 февраля 2013

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

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

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

map.getProjection().getVisibleRegion();

6 голосов
/ 05 апреля 2011

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

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;

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

...