Search code examples
androidosmdroid

OsmDroid load Marker after scroll


I want to load Marker after scroll. In Google Maps I user OnCameraChange, in OsmDroid I used OnScroll, but is called always until I move the map. How can I detect when the scroll is ended as OnCameraChange ?


Solution

  • If you mean after scroll

    • current visible part of the map has changed
    • that scroll/zoom including animatation has finished
    • there were no scroll/zoom for the last 200 millisecs

    you can try to add a DelayedMapListener as a map listener that fires 200 millisecs after the last scrolling/zooming

    /** Fire if there is more than 200 millisecs no zoom/scroll update markers */
    protected static final int DEFAULT_INACTIVITY_DELAY_IN_MILLISECS = 200;
    
        // If there is more than 200 millisecs no zoom/scroll update markers
        mMapView.setMapListener(new DelayedMapListener(new MapListener() {
            @Override
            public boolean onScroll(ScrollEvent event) {
                reloadMarker();
                return false;
            }
    
            @Override
            public boolean onZoom(ZoomEvent event) {
                reloadMarker();
                return false;
            }
        }, DEFAULT_INACTIVITY_DELAY_IN_MILLISECS));