How excitable/distracted does he get? i.e. Im assuming he takes the opportunity to leg it off and find interesting playmates, squirrels, rubbish to entertain him?
The level of the 'off leash' problem, depends on the solution. If you want him to walk to heel off leash, then basic heelwork training should do it. If he is a distracted type, then I advocate a 'punishment' approach. (Controversial as a lot of training guides always tell you to reward when he comes to you). However, my approach has always worked with my dogs.
Basic training must be there. He must know his basic vocabulary. Come, sit, stay, etc. If you havent acheived that yet, then dont attempt to address this issue until you have. The worst thing you can do with a dog that runs off, is chase him. As long as his groundwork is solid, i.e. he comes to you on 'come' in your garden, you can enforce it in the park.
Its good to set this up in a large open field as you will only need to do this once, and you need the dog to be able to see you for a far distance. A strange field is better also as if you use his usual walks, he knows where all the interesting things are.
As soon as he runs, shout 'Come' once. And once only. If he ignores you, then turn and run the other way. Do not look back. Do not get anxious that hes going for miles unsupervised. You keep going in the opposite direction. You can slow down to a walk but do not return or look back. If you run out of field then stop, with your back still in the direction he went in and wait. Your dog WILL come and find you. It may be a minute, it maybe 5 minutes. Now the important bit. As soon as he gets close to you, you must turn and chase him away. Either shouting at him, or throw something at him but do not let him within 10 foot of you. He must know you are not best pleased!. Then walk off. Again he will try to come up to you, and again you must drive him away. Do NOT reward him for returning. Instead you are telling him that "OK you wanted to beggar off, well, I DONT WANT YOU in my pack". After a couple of times of driving him away, his ears will drop and he will be looking at you beseechingly, possibly standing still as hes now confused by this new reaction. You can then look at some leaves, or a bush and whilst still ignoring him, let him come close to look at whatever it is you are looking at.
Dont speak to him, and carry on with your walk. Forget the incident, and as he stays close to you, tell him "Good Boy". If he ever runs off again, shout him once and if ignored, turn and do this all again. Ive only ever had to do it once with every dog Ive had, and from that point on they have never gone more than 10 foot outside my 'area'. The most basic fear in a dog is being excluded from the 'pack' and this is what you are doing.
Its only my opinion (!) so happy for contradictory views on here, but rewarding a dog that runs off, just because he eventually came back, is madness. In doggy terms, he beggers off, has a good play with another dog, chases a couple of squirrels, a quick circuit round the golf course, then eventually returns back to owner to be greeted with "Good Boy heres a biscuit!" Life doesnt get much better than that! Why on earth should he stop doing it when that happens
Caro xx
PS Please dont confuse this incident with 'recall' training. Its not. This is a dog running away from his pack leader to find something more interesting. Continue with his recall training but you will find he is far more attentive from now on, and remember use the command once and once only. Any more than that and you're training him to be 'deaf'!