Put him on your leash ... 6' leash. He will sit beside you in the heel position, right? He will sit beside you as you stop from a walking heel and blow your whistle right?
Stand him in front, facing you at the end of your 6' leash. Whistle/"sit" from that standing position. If he doesn't sit, reach out and tug upward on the leash. If he starts to come toward you, take a step forward into him (not stepping ON him), repeat the "sit" and tug upward on the leash if necessary. Praise when he does it correctly! Don't overdo the praise, that may excite him into getting up.
Then calmly walk to him and into the heel position ... don't allow him to get up from that sit.
When you get him sitting from the end of the leash, get a longer leash. GRADUALLY increase your distance, etc. etc. etc. Expecting him to sit as he is MOVING toward you is too much, when he can't do a remote sit from standing.
Next step would be to teach him to sit while he is at a distance as he is just "snooping around", like on a walk. Just let him do his thing and when he is preoccupied, but not TOO far from you, whistle/sit and be prepared to "help" him through it just like you did on the long leash. He probably won't do it perfectly the first few times, but it shouldn't take long.
Now you might be ready to try teaching him to sit as he is moving toward you, but don't start out with him 10 yards away. Start close and gradually increase distance. (the further he is away from you, the less control you have over him ... this remains true throughout his life )
Does it seem like a lot of unnecessary steps? Does this seem like a long and stupid message? This is the way you teach him anything new his entire life. BABY STEPS.
Every dog progresses at their own pace. Pay attention to your own dog and try to "read" what's going on in his head. Always try to break a new task down into the simplest progressions you can think of. It will save you time in the long run.