Решения для поиска геолокации посетителей сайта

Я знаю, что существует множество сервисов, которые предоставляют инструменты геолокации для разработки, где пользователи посещают. Веб-сайт, над которым я работаю, является сайтом электронной коммерции, который работает на нескольких территориях. Когда посетитель попадает на сайт, он должен работать там, где они есть, и показывать соответствующую валюту / язык для пользователя.

Раньше мы использовали maxmind, но мне интересно, есть ли там лучшие решения. Я призываю разработчиков, имеющих опыт работы в этой области, поделиться своими знаниями и опытом в отношении того, что доступно, а также о том, что pro и con имеют различные решения.

Дополнительная информация: рассматриваемый веб-сайт работает в основном на сочетании Java (Spring) и PHP (Kohana), поэтому библиотеки для любого из них также могут быть рассмотрены. У нас уже есть решение для разработки какой валюты использовать, если мы можем получить ISO-код страны посетителя.


Обновить
Думал, что я оставил бы грубое объяснение результатов тем, кто посещает этот вопрос.

Геолокация: я использовал freegoip для определения местоположения пользователя, как предлагается в этой теме.
Язык: при разработке языка, который будет использоваться для пользователя, я использовал PHP для проверки языка, установленного в браузере пользователя: http://www.php.net/manual/en/function.http-negotiate-language.php

Я работаю над проектом, который требует геолокации, к сожалению, я нахожу, что большинство служб работают над базой данных MaxMind , наконец я использовал freegeoip , свободный и до сих пор точный в моем регионе.

С уважением.

На небольшом сайте электронной коммерции, над которым я работал, мы использовали Akamai для предоставления данных геолокации, которые будут обслуживать настроенные рекламные объявления и цены, основанные на том, в каком состоянии находился посетитель. Проверьте это для получения дополнительной информации: http://www.akamai.com/ html / technology / products / personalization.html .

Для языка это должно пройти через браузер. Это более полезно и точнее геолокации.

Например, если вы путешествовали со своим ноутбуком, и вы использовали интернет, вы, вероятно, захотите увидеть что-то на своем языке, чем родной язык той страны, в которой вы были.

Посмотрите на этот вопрос для получения дополнительной информации: Проверка языка браузера на PHP?

Другим вариантом является http://ipinfo.io API (мой собственный сервис). Вот пример того, что возвращает API.

$ curl ipinfo.io/8.8.8.8 { "ip": "8.8.8.8", "hostname": "google-public-dns-a.google.com", "loc": "37.385999999999996,-122.0838", "org": "AS15169 Google Inc.", "city": "Mountain View", "region": "CA", "country": "US", "phone": 650 } 

Вы также можете запросить конкретные поля, например, страну в этом примере:

 $ curl ipinfo.io/8.8.8.8/country US 

Более подробную информацию можно найти на сайте http://ipinfo.io/developers . Он предоставляется бесплатно до 1000 запросов в день, и вы можете подписаться на оплачиваемый план (см. http://ipinfo.io/pricing )

Как я уже упоминал, мы построили https://ipdata.co для этой точной usecase

 $ip = '78.8.53.5'; $details = json_decode(file_get_contents("https://api.ipdata.co/{$ip}")); 

Это вернет

 { "ip": "78.8.53.5", "city": "G\u0142og\u00f3w", "region": "Lower Silesia", "country_name": "Poland", "country_code": "PL", "continent_name": "Europe", "continent_code": "EU", "latitude": 51.663, "longitude": 16.0757, "asn": "AS12741", "organisation": "Netia SA", "postal": "67-200", "currency": "PLN", "currency_symbol": "z\u0142", "calling_code": "48", "flag": "http://img.ruphp.com/java/pl.png", "time_zone": "Europe/Warsaw" } 

Это имеет ряд релевантных данных по электронной торговле, в частности

  • Символ валюты
  • Код валюты
  • Иконка Страна Флаг
  • Код страны для звонков

Символом валюты z\u0142 является ASCII для z\u0142