S.M.
Hold his hand. At three, he doesn't have good enough judgement to keep himself safe in public - not get out of your sight, run into the street. touch a strange animal, etc. Hold his hand. If he doesn't listen to you, he doesn't get to be independent.
Save the "fun" ways for when you are at home. Get some books out of the library, and talk about pedestrian safety and stranger danger. Talk about where you are going when you have a trip planned and what your expectations are for him, as well as consequences. For instance, if you don't come when I call you at the playground, we will leave. Follow though. Listening when you are out and about should not be negotiable.
It won't take long, but your trips out will be a great deal more enjoyable if he respects the rules and learns to walk next to you. I hold my four year old's hand most of the time when we are out and expect to be doing that for another year or so. Only recently am I starting to trust her a little bit to respond to me at the playground or a store - that is, she now knows that she needs to see me. If she can't see me, I can't see her. And for the most part, I trust her to stop at curbs and not run into the street, although in new settings I still remind her.