Радиус карты

У меня есть вид карты, когда пользователь нажимает на вид карты, он устанавливает точки долготы и долготы. Я хочу иметь возможность фиксировать уровень масштабирования / радиус на расстоянии от масштаба, каков наилучший способ сделать это?

2 ответа

Пожалуйста, проверьте этот вопрос: Android: Как мне установить уровень масштабирования вида карты на радиус 1 км вокруг моего текущего местоположения?

Работал нормально для меня.

Вы должны использовать:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

mapView.getController().setZoom(calculateZoomLevel(metrics.widthPixels));




private int calculateZoomLevel(int screenWidth) {
    double equatorLength = 40075004; // in meters
    double widthInPixels = screenWidth;
    double metersPerPixel = equatorLength / 256;
    int zoomLevel = 1;
    while ((metersPerPixel * widthInPixels) > 1000) {
        metersPerPixel /= 2;
        ++zoomLevel;
    }
    return zoomLevel;
}

getZoomLevel() это метод, который вы ищете.

Другие вопросы по тегам