Как получить значение 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;
Надеюсь, поможет!