Нужно проверить, находится ли конкретное место в пределах карты

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

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

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

Спасибо


person user1206529    schedule 27.02.2012    source источник


Ответы (2)


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

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

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

person NickT    schedule 29.02.2012

Для версии 2:

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