Необходимо проверить, находится ли конкретное местоположение в пределах карты - PullRequest
0 голосов
/ 28 февраля 2012

я использую osmdroid MapView. Мне нужно найти, находится ли пользователь Location в границах карты (зависит от уровня масштабирования).

Я пытаюсь использовать MapView.getBoundingBox (). Contains (location) .. Но похоже, что getBoundingBox () возвращает видимые границы.

есть ли способ получить исходные границы карты (зависит от уровня масштабирования)?

Спасибо

Ответы [ 2 ]

3 голосов
/ 29 февраля 2012

Вы можете узнать широту и долготу северо-западного и юго-восточного углов вашего обзора карты с помощью кода:

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

Затем вы можете узнать, попадает ли интересующая точка в эти границы.

1 голос
/ 02 мая 2014

Для версии 2:

    LatLng northwest  = (LatLng) mMap.getProjection().fromScreenLocation(new Point(0, 0));
    LatLng southeast = (LatLng) mGoogleMap.getProjection().fromScreenLocation(
        new Point(mMapView.getWidth(), mMapView.getHeight()));
...