You can use a
Geolocation service[
^] - but be aware that it will not be precise, or indeed even accurate. Since IP addresses are issued by ISPs in the majority of cases they do not necessarily reflect the physical location of the client, but of the ISP instead. My IP has been know to come back in a different country several hundred miles away, and has never been closer than 50 miles - it depends on where the client and the ISP are.