IP-геолокация использует данные от интернет-провайдеров, такие как информация WHOIS, трассировки, имена хостов и другие данные, собранные из открытых источников. Это может быть невероятно неточным, потому что каждый провайдер по-разному структурирует свою сеть.
Существует также геолокация на основе браузера, в которой используется информация о ближайших точках доступа Wi-Fi, а в случае мобильных устройств - идентификаторы вышек сотовой связи и / или GPS. Службы определения местоположения Google являются основным поставщиком для Chrome и Firefox, но все это зависит от браузера.
Я предполагаю, что вы работаете с компанией, в которой вы заплатили за этот файл, и вы должны выполнить любую внутреннюю разработку, чтобы он работал. MaxMind GeoIP также предоставляет для этого API веб-службы .
Если вы заинтересованы в геолокации на основе браузера, действительно хороший учебник - Dive Into HTML5 .