Я знаю, что существует множество сервисов, которые предоставляют инструменты геолокации для разработки, где пользователи посещают. Веб-сайт, над которым я работаю, является сайтом электронной коммерции, который работает на нескольких территориях. Когда посетитель попадает на сайт, он должен работать там, где они есть, и показывать соответствующую валюту / язык для пользователя.
Раньше мы использовали 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
zł