Know exact location of IP address
Solution 1:
IP addresses aren't assigned to individual subscribers, but rather to an ISP or large organization. The ISP takes an IP address from the range of addresses it has been assigned and then gives one (or more) to each of their subscribers. Usually, the subscribers' addresses don't follow any set pattern and there's no guarantee that a particular IP address corresponds to a specific subscriber (unless the subscriber pays the ISP extra for a 'static' IP address [but there's no way to 'know' an IP is static, that's just a service-level of the ISP.])
So, IP addresses can only be resolved down to the geographic area that the ISP services, or to a subset of the area it services. The ISP can tell you who, exactly, had an IP address at a specific point in time. But they won't. Not without (usually) some sort of government order, subpoena, etc. So, the only publicly available data relating to who has what IP address is not granular or up-to-date enough to get much narrower than ~50 miles (80KM).
Solution 2:
It's not (usually) possible to locate further than the IP pool without personal data from the ISP. For this reason, you're getting the approximate location of the server serving the IP addresses rather than the location of the person using it.