как получить значение длины и широты четырех углов в представлении карты в Android?
-
21-09-2019 - |
Вопрос
я работаю над просмотром карты.я хочу поместить элемент наложения на вид карты.все элементы наложения зависят от текущего вида карты и уровня масштабирования.как получить долготу и широту текущего вида карты в этом четырех углах и как проанализировать, сколько элементов наложения внутри него.также нам нужно проверить уровень масштабирования. Есть идеи?как это сделать?
Решение
Я думаю, тебе придется использовать
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;
Надеюсь, поможет!