zip/location based events & content

Is there such a plugin that allows for a visitor to have location specific content displayed based on their imputed zipcode? I'm working on a statewide site for various clubs and I would like to have events and calendar content to be area specific if at all possible.

Consider golf courses for example. I would like to see local tournament within a defined radius based on my location.

Thanks for the help.

Martin