As another idea and option, you can reduce the distance and increase the resistance. Get yourself a nice pulling harness for your dog, and start by doing those walks with him leashed and just on the harness, then move to him leashed (we'll assume from here he is ALWAYS leashed

) with some kind of light noisy thing.. on the harness. A noisemaker so to speak, but not heavy. Over a few months you can move to eventually having a half tire or something of equal resistance (tires being the best for street walks IMHO)
Reducing the distance and increasing the resistance (weight on the harness) a few days a week, while keeping those regular 3mi no harness walks on the other days to keep up cardio. That should help.
Also, they make a treadmill for dogs... for a few hundred bucks you could significantly reduce your walking

but you still want to go on walks sometimes lol
Hope this helps!