I have ip2location on my site and it works great. Would love to tell you how to set it up but the guy that writes my scripts did it for me.
www.ip2location.com. I got the db3 i think it is which gives cities. I also had him set it up so if it does not recognize an IP it says Local.
I believe they do give instructions how to set it up but I just asked him to do it. He could probably set you up too although I doubt I will talk to him until Monday.