
Can tell you what I've been successful with with our flatcoats (most of the time!). Don't know if the same would work with Weims.
Flatcoats love tennis balls, so I use them as a reward. Start the dog on the whistle coming towards you (not going out on a retrieve to start with; they may become sticky). Blow the stop whistle and raise hand. Hopefully dog sits. Count to 5. Throw ball and say simultaneously '.fetch it'.
The ball is the reward for stopping. This is not running in as such, as you have given the command 'fetch it'.
When you're out on an ordinary walk, and the dog is wandering in front of you, on the odd occasion, when he's not expecting it, blow your whistle. Hopefully he'll look at you, as he's by now expecting a reward; raise your hand; hopefully he'll sit. Then repeat counting to 5, and throw ball as before. You can build up distance as dog gets confidence that you are more fun than wandering off doing his own thing.
Hope this helps.
Jo and the Casblaidd Flatcoats