0

GoogleマップとジオコーディングAPIを使用して、ユーザーが郵便番号を入力した後にlat / lngを取得していますが、郵便番号をそのユーザーの国に限定したいので、複数の結果が表示されることはありません。

jqueryを使用するか、ユーザーエージェントを何らかの方法でデコードすることで、クライアントから訪問者の出身国を確実に特定する方法はありますか?

私の電話は次のようになります。

var country = ???
var postcode = document.getElementById('postcode').value + ', ' + country;

var geocoder = new google.maps.Geocoder();         
geocoder.geocode({ 'address': postcode }, function (results, status) {          
   if (status == google.maps.GeocoderStatus.OK) {  
       ...
   }
});

何かご意見は?

4

2 に答える 2

1

訪問者のIPアドレスを使用して、GeoIPテーブルで彼の発信元を検索できます。MaxMindなど、さまざまなテーブルがあります。

ユーザーがプロキシサーバーの背後にいる場合、またはIPを取得できない場合、これは失敗する可能性があることに注意してください。もちろん、GeoIPテーブルにもよりますが、それを除けば、非常に信頼性の高い方法である必要があります。

于 2012-12-17T20:29:42.080 に答える
1

サードパーティに依存しないという利点のために、Googleのローダ​​ーを使用してクライアントの場所を取得できます。これは、GoogleMapsAPIとClientLocationをロードする際の使用例です。

于 2012-12-17T23:22:46.223 に答える