Google ClientLocation использует геолокацию IP-адресов. Существует несколько провайдеров геолокации IP-адресов (соответствующие вопросы на боковой панели справа дадут вам несколько из них), и они дают разные результаты для разных пользователей. Google ClientLocation не сможет найти всех и не всегда даст ответы, которые являются такими же точными или точными, как некоторые конкуренты.
На моей тестовой странице , например, я использую Google ClientLocation и IPInfoDB , и Google ClientLocation не находит меня дома сейчас, в то время как IPInfoDB считает, что я в Саннивейле вместо Беркли. Вы можете обнаружить, что один поставщик лучше других (особенно если вы платите за его базу данных), но я подозреваю, что наиболее надежный метод, если он вам действительно нужен, - это использовать несколько и надеяться, что по крайней мере один из них даст результат , Вы должны знать заранее, что IP-геолокация не всегда будет работать для всех пользователей (например, те, кто находится за анонимным прокси, никогда не будут расположены таким образом).
Также , если вы хотите более точное местоположение, вы можете использовать Javascript API, чтобы запросить у браузера точное местоположение пользователя. В поддерживаемых браузерах пользователь получит небольшое всплывающее окно с запросом их разрешения, и, если он будет предоставлен, браузер будет использовать GPS (Mobile Safari на iPhone, например) или триангуляцию WiFi (Firefox 3.5+) для определения широты и долготы. , Вы можете увидеть, как это работает на моей тестовой странице , и сравнить ее с геолокацией IP. Не все браузеры поддерживают W3C Geolocation API , но растет число.