I am aware that there are many services which provide geolocation tools for working out where users are visiting from. The website I'm working on is an e-commerce site which runs in multi-territories. When a visitor hits the website it should work out where they are from and show the relevant currency/language for the user.
In the past we have used maxmind but I'm wondering if there are better solutions out there. I'm calling out to developers with experience in this area to share their knowledge and expertise on what's available and what the pro's and con's are of various solutions.
Additional info: The website in question runs mainly on a combination of Java (Spring) and PHP (Kohana), so libraries for either of those can also be considered. We already have a solution for working out which currency to use provided we can obtain the ISO code of the visitor's country.
Update
Thought I'd leave a rough explanation of the outcome for anyone who visits this question.
Geolocation: I've used freegoip for detecting user location as suggested in this thread.
Language: When working out which language to use for the user I have used PHP to check the language set in the user's browser: http://www.php.net/manual/en/function.http-negotiate-language.php
I've been working on a project that requires geolocation, unfortunately I find that most services are working on MaxMind database , at last I used freegeoip , free and so far precise in my region.
Regards.