Android: MapView получает максимальный уровень масштабирования для точки - PullRequest
3 голосов
/ 13 октября 2011

У меня есть вид карты, который отображает некоторые элементы наложения. Я должен установить максимально доступный уровень масштабирования для точек наложения. zoomToSpan отлично работает, если у меня есть несколько оверлеев, но если у меня есть один оверлей со шнурами 0,0, он пытается увеличить до максимального уровня масштабирования 22 и показать черный экран, потому что карта Google не может отображать детали для этого уровня масштабирования. Как я могу получить максимальный уровень масштабирования для текущих шнуров, которые может отображать карта Google. Спасибо. Я забыл, я пытаюсь это:

GeoPoint curPoint = new GeoPoint((iLatitudeMax + iLatitudeMin) >> 1, (iLongtitudeMax + iLongtitudeMin) >> 1);

        MapController mapcontroller = mapView.getController();
        if(mapcontroller != null && curPoint != null) {
            mapcontroller.zoomToSpan(Math.abs(iLatitudeMax - iLatitudeMin), Math.abs(iLongtitudeMax - iLongtitudeMin));
            mapcontroller.setCenter(curPoint);
            int zoomLevel = mapView.getZoomLevel();
            zoomLevel = (zoomLevel > mapView.getMaxZoomLevel()) ? mapView.getMaxZoomLevel() - 1 : zoomLevel;
            mapcontroller.setZoom(zoomLevel);
            mapcontroller.animateTo(curPoint);
        }
...