PATRIK27 / osmdroid

Automatically exported from code.google.com/p/osmdroid
0 stars 0 forks source link

No view invalidation after zoomIn / zoomOut #208

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Call zoomOut / zoomIn

What is the expected output? What do you see instead?
I expect, that coordinates of visible bounding box are changed. Bounding box 
coordinates are staying the same before and after zoomIn / zoomOut

What version of the product are you using? On what operating system?
osmdroid 3.0.3
Android 1.5 (TMobile Pulse), 1.6 (HTC Tattoo), 2.2 (HTC Desire, Emulator)

Please provide any additional information below.

I added onWindowFocusChanged to the Map Activity with some logs.
There are no changes after calling zoomOut, but if I do it in different way (i 
get current zoom level and set zoom level to one lower), coordinates are 
different before and after changing.

    @Override
    public void onWindowFocusChanged(boolean hasFocus)
    {
        super.onWindowFocusChanged(hasFocus);
        BoundingBoxE6 bb = mOsmv.getBoundingBox();
        int lat_max = bb.getLatNorthE6();
        int lat_min = bb.getLatSouthE6();
        int lon_max = bb.getLonEastE6();
        int lon_min = bb.getLonWestE6();
        Log.i("zoomOut:", lat_max + "," + lat_min + "," + lon_max + "," + lon_min);

        mOsmv.getController().zoomOut();
        bb = mOsmv.getBoundingBox();
        lat_max = bb.getLatNorthE6();
        lat_min = bb.getLatSouthE6();
        lon_max = bb.getLonEastE6();
        lon_min = bb.getLonWestE6();
        Log.i("zoomOut:", lat_max + "," + lat_min + "," + lon_max + "," + lon_min);

        int zoomLevel = mOsmv.getZoomLevel();
        mOsmv.getController().setZoom(zoomLevel - 1);
        bb = mOsmv.getBoundingBox();
        lat_max = bb.getLatNorthE6();
        lat_min = bb.getLatSouthE6();
        lon_max = bb.getLonEastE6();
        lon_min = bb.getLonWestE6();
        Log.i("zoomOut alt:", lat_max + "," + lat_min + "," + lon_max + "," + lon_min);     

        zoomLevel = mOsmv.getZoomLevel();
        mOsmv.getController().setZoom(zoomLevel - 1);
        bb = mOsmv.getBoundingBox();
        lat_max = bb.getLatNorthE6();
        lat_min = bb.getLatSouthE6();
        lon_max = bb.getLonEastE6();
        lon_min = bb.getLonWestE6();
        Log.i("zoomOut alt:", lat_max + "," + lat_min + "," + lon_max + "," + lon_min);     
    }

Original issue reported on code.google.com by ti...@ametov.net on 27 Apr 2011 at 3:00

GoogleCodeExporter commented 8 years ago
This is because the bounding box doesn't change until the zoom animation is 
finished when you call zoomIn/zoomOut.

Original comment by kurtzm...@gmail.com on 5 Mar 2013 at 6:05