Возможный дубликат:
Определение местоположения для IP-адресов
Для нашего сайта важно знать, с какой именно страны приезжает наш посетитель.
Я думаю, лучшим ответом на мой вопрос будет простая геолокация существующих систем браузеров, которые просто спрашивают у пользователя, разрешено ли сайту видеть его географическое местоположение: http://dev.w3.org/geo/api/ спец-source.html
но я не хочу хотеть беспокоить посетителей вопросами, я бы хотел автоматически определить местоположение посетителя (страны должно быть достаточно.)
Каков наилучший способ сделать это? – какая IP-база была бы лучшей? – заголовок браузера достаточно доверчив, чтобы обнаружить его страну? (ru-ru en-en en-ca?) Какое лучшее решение?
NetImpact предоставляет бесплатный API для поиска геолокации по IP, ProgrammableWeb также имеет обзор поставщиков услуг GeoIP. Это связано с небольшой задержкой, когда приложение завершает вызов API (если ваше приложение не может использовать неблокирующий вызов), но является наименее интрузивным способом обнаружения страны происхождения посетителя.
В заголовке браузера указывается, какой язык пользователь хочет видеть. Испаноязычный человек в деловой поездке в Японию, вероятно, хочет увидеть веб-сайты на испанском языке.
Я думаю, вы можете использовать услуги обратного IP, чтобы угадать, но если это для коммерции, я думаю, вы должны попросить пользователя рассказать вам.
Аналогично географическому расположению: физическое положение компьютера может быть или не быть релевантным потребностям пользователя, просматривающего сайт.
Просмотрите эту страницу в API Карт Google: http://code.google.com/apis/maps/documentation/javascript/basics.html#DetectingUserLocation
http://www.iplocationtools.com/samples.html также представляет хороший набор apis для этого. Я использовал их систему раньше, и они были достаточно надежными.