There are a *lot* of Drupal location modules. Modules that use the MaxMind database. Modules that give you the location for an IP address. And they all have one thing in common. They all expect you to be looking up the location of the current visitor. And they expect you to be doing that on every page they visit.
Give me an API any day. An API, where I can say "Hey, what's the location for 220.127.116.11?" and it's all "Yo, that's Stockholm dude. 18.0167, 59.3667, that's where you're looking for." No current users, no sessions, no messing.
$ip_address = "18.104.22.168";
$location = iptolocation__get_location($ip_address);
[lon] => 18.0167
[lat] => 59.3667