When we go to the zoo or a museum, I stick an address label with DS's name and my mobile number onto his back. He is 2 years 9 months and a bolter (and a sprinter). I also have an 8 month old DD so can't always catch up with him in an instant.
It's getting some funny looks (off people with children who don't run off) but it makes me feel more comfortable taking him out.
Obviously I do keep hold off him when we are by a road but I like to let him walk by himself if we are somewhere more enclosed.