private static WaypointDistanceInfo getClosestDistanceInM(final Geopoint center, final List<? extends INamedGeoCoordinate> items, final int minDistanceOld, final Func1<INamedGeoCoordinate, String> getName) {
        int minDistance = minDistanceOld;
        String name = "";
        for (INamedGeoCoordinate item : items) {
            final Geopoint coords = item.getCoords();
            if (coords != null) {
                final int distance = (int) (1000f * coords.distanceTo(center));
                if (distance > 0 && distance < minDistance) {
                    minDistance = distance;
                    name = getName.call(item);
                }
            }
        }
        return new WaypointDistanceInfo(name, minDistance);
    }
to be called by map fragments' observers for zoom level change
main/src/main/java/cgeo/geocaching/unifiedmap/UnifiedMapActivity.java