The problem is that IP address are no longer unique, and in some instances where an ISP (such as a telephone company or cable company) covers a large geographical area, it is really difficult to see where people are coming from accurately. As an example where I used to live, sometimes my IP would be shown as Cheyenne Wyoming, sometimes as Salt Lake City Utah, and sometimes as Denver Colorado, the closest of which was 340 miles from where I lived, and the farthest was over 800 miles.
Statcounter, Sitemeter and Activemeter all have plain HTML code that you can put into a text widget, that will give you some of this information, but do be aware that it might be wildly inaccurate. Also, you have to use the plain HTML code, you cannot use the javascript code.