Как получить доступ к геолокации в текущем Zoomlevel в Google Maps для Android - PullRequest
1 голос
/ 08 декабря 2011

как я могу получить значения широты / долготы, которые в настоящее время доступны в реальном масштабе, с помощью API GooleMaps и Android? У меня есть GeoLocations всех пользователей на моей карте, но я хочу, чтобы на моем текущем «Дисплее» (Zoomlevel) были только пользователи, поэтому я должен знать границы Geo-Location для фактического Zoomlevel.

Ответы [ 2 ]

1 голос
/ 08 декабря 2011

Предполагая, что вы отображаете только несколько квадратных километров, а не половину планеты, можно получить приличную аппроксимацию ограничительной рамки вашего вида карты с помощью кода, такого как:

GeoPoint topLeftGpt;
GeoPoint bottomRightGpt;

topLeftGpt = mapView.getProjection().fromPixels(0, 0);
bottomRightGpt = mapView.getProjection().fromPixels(mapView.getWidth(),
            mapView.getHeight());

Если вы тогдаиспользуйте методы .getLatitudeE6 () и .getLongitudeE6 () для каждой из этих географических точек, это даст вам ограничивающие рамки

0 голосов
/ 08 декабря 2011

Вы можете использовать

int latSpanE6 = mapView.getLatitudeSpan();
int lonSpanE6 = mapView.getLongitudeSpan();

EDIT:

Упс, это все бесполезно без центра карты:

GeoPoint center = mapView.getMapCenter();

int minMapLat = center.getLatitudeE6() - (latSpanE6/2);
int maxMapLat = center.getLatitudeE6() + (latSpanE6/2);
int minMapLon = center.getLongitudeE6() - (lonSpanE6/2);
int maxMapLon = center.getLongitudeE6() + (lonSpanE6/2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...