Cherry maggots are caused by the Western cherry fruit fly (Rhagoletis indifferens). The hard-shelled pupae live in the ground under domestic (not wild cherry trees) cherry trees all winter. The adult flies begin to emerge when the ground warms up in May and continue to emerge until the harvest time. Because of this life cycle, dormant oil sprays won't work on them. You can use sticky traps in the trees to determine when the adults are emerging.
One method to control them is to remove all fruit early in the harvest period, before the cherries are ripe, and before the larvae have emerged and dropped to the soil. Two years of this practice will free the tree of the pest. Fortunately, the flies usually stay around one tree, so don't usually spread from tree to tree.
Chemical insecticides, if used, should be started as the fruit flies emerge, and must be repeated at 7-10 day intervals until harvest. This article from Colorado State University on Managing Western Cherry Fruit Fly in the Home Garden gives you some choices for sprays. Spinosad has been approved for some uses in organic agriculture. Please avoid nicotinamids, e.g. imidacloprid, because of the negative effects on bees.
One thing you can do now is to pick and remove the remaining fruit from the tree, so the larvae don't emerge and pupate in the soil, though undoubtedly by now some have already done so, admittedly difficult with the size of your tree.
It's also possible that you have spotted wing drosophila, another type of fruit fly. The two flies are quite distinctive in appearance. The spotted wing drosophila look like a normal fruit fly, but the males have a spot on their wings. The western cherry fruit fly looks like a very small house fly. This article from OSU, Protecting Home Fruits from Spotted Wing Drosophila, will give you information on these insects.