3

ユーザーがどこからアクセスしているかを調べるための地理位置情報ツールを提供するサービスがたくさんあることは承知しています。私が取り組んでいる Web サイトは、複数の地域で運営されている e コマース サイトです。訪問者が Web サイトにアクセスすると、訪問者がどこから来たのかを特定し、ユーザーに関連する通貨/言語を表示する必要があります。

過去にmaxmindを使用していましたが、より良い解決策があるかどうか疑問に思っています。私は、この分野での経験を持つ開発者に、何が利用可能で、さまざまなソリューションの長所と短所は何かについての知識と専門知識を共有するよう呼びかけています。

追加情報: 問題の Web サイトは主に Java (Spring) と PHP (Kohana) の組み合わせで実行されているため、これらのいずれかのライブラリも検討できます。訪問者の国の ISO コードを取得できれば、どの通貨を使用するかを判断するための解決策が既にあります。


更新
この質問にアクセスした人のために、結果の大まかな説明を残しておきます。

地理位置情報:このスレッドで提案されているように、ユーザーの位置を検出するために freegoip を使用しました。
言語:ユーザーに使用する言語を決定する際に、PHP を使用してユーザーのブラウザーに設定されている言語を確認しました: http://www.php.net/manual/en/function.http-negotiate-language.php

4

6 に答える 6

1

私が取り組んだ小規模な e コマース サイトでは、Akamai を使用してジオロケーション データを提供し、訪問者がいる州に基づいてカスタマイズされた広告と価格を提供しました。詳細については、http ://www.akamai.com/ をご覧ください。 html/technology/products/personalization.html .

于 2012-07-06T17:55:03.450 に答える
0

私はジオロケーションを必要とするプロジェクトに取り組んできましたが、残念ながらほとんどのサービスがMaxMindデータベースで機能していることがわかりました。ついに、私の地域では無料でこれまでのところ正確なfreegeoipを使用しました。

よろしく。

于 2012-07-06T18:05:28.630 に答える
0

言語については、ブラウザから取得する必要があります。これは位置情報よりも便利で正確です。

たとえば、ラップトップを持って旅行し、インターネットを使用した場合、おそらく、滞在先の国の母国語ではなく、自分の言語で物事を見たいと思うでしょう.

詳細については、この質問を参照してください: Checking browser's language by PHP?

于 2012-07-06T18:35:22.613 に答える
0

別のオプションは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を参照してください。1 日あたり最大 1,000 リクエストまでは無料で、それ以上は有料プランにサインアップできます ( http://ipinfo.io/pricingを参照) 。

于 2014-08-31T22:01:50.070 に答える
0

前述したように、この正確なユースケースのためにhttps://ipdata.coを構築しました

$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": "https://ipdata.co/flags/pl.png",
    "time_zone": "Europe/Warsaw"
}

これには、eコマース関連のデータポイントが多数あります。具体的には

  • 通貨記号
  • 通貨コード
  • 国の旗のアイコン
  • 国の電話番号

通貨記号z\u0142は、ズウォティの ASCII です。

于 2017-11-06T16:45:04.327 に答える