Есть ли в гугле что-то подобное.
Нет, Google не предоставляет подобные услуги. (обратите внимание, что ответ здесь, который утверждает, что он его предоставляет, ведет в никуда).
Любые другие бесплатные или платные API, помогающие определить местоположение пользователя по его IP.
Во-первых, трудно говорить о надежности такого сервиса. Большинство сервисов полагаются на интернет-провайдера для получения своих данных, а интернет-провайдер не всегда предоставляет надежные данные. Более того, поскольку я предполагаю, что вас в основном заботит местонахождение вашего пользователя (а не то, к какому местоположению принадлежит его IP), пользователь может решить скрыть свое местоположение через VPN, Tor или другие анонимайзеры.
В некоторых ваших комментариях я увидел, что под надежным вы подразумеваете время безотказной работы поставщика API. Если да, то я бы порекомендовал MaxMind's GeoIP2. Во-первых, я давно вижу этот сайт, они довольно часто обновляются (последнее обновление 1 апреля 2014), кроме того, если вы так боитесь простоев - вы можете скачайте их базу данных и не полагайтесь на них (к тому же они бесплатны).
Другой сервис, который мне действительно нравится, менее известен и имеет открытый исходный код (частично опирается на данные MaxMind). Я использовал его всего несколько раз, поэтому не могу сказать о его работоспособности, но мне очень нравится их API. Это настолько просто, что проще придумать сложно:
http://www.telize.com/geoip/46.19.37.108
или вот так
http://www.telize.com/geoip/2a02:2770::21a:4aff:feb3:2ee
даст тебе
{
"country":"Netherlands",
"dma_code":"0",
"timezone":"Europe\/Amsterdam",
"area_code":"0",
"ip":"46.19.37.108",
"asn":"AS196752",
"continent_code":"EU",
"isp":"Tilaa V.O.F.",
"longitude":5.75,
"latitude":52.5,
"country_code":"NL",
"country_code3":"NLD"
}
Я думаю, что этих двух сервисов достаточно, чтобы получить нормальную информацию для ваших посетителей. Но одна важная вещь. Если вам действительно нужно знать, откуда приходят ваши пользователи, почему бы не спросить их с помощью геолокации html5? Вот хороший пример, но вы можете пойти дальше (спросите их, правильно ли указано местоположение, и дайте им возможность изменить Это). Я знаю, что в вашем случае вам нужна только Страна/Город, но может быть и другим людям это понадобится.
P.S. Ноябрь 2015 г. Теперь, когда использование telize.com стоит денег, я нашел еще один бесплатный сервис:
https://freegeoip.net/json/45.79.8.237
https://freegeoip.net/json/2600:3c00::f03c:91ff:fe98:c0f5
person
Salvador Dali
schedule
04.04.2014