ユーザーが海外を旅行する際に特定の情報を表示するには、ユーザーがいる国を取得する必要があります。 国を決定する多くの方法がSIMカードを必要としましたが、この方法ではありませんでした。これは私が使用しているものです(いくつか試してみてください)ジオコーダー、Androidで国を取得、getFromLocationゼロの結果
Geocoder myLocation = new Geocoder(HomeActivity.this);
myList = myLocation.getFromLocation(gps.getLatitude(), gps.getLongitude(), 1);
String country = myList.get(0).getCountryName();
Log.d(TAG, country);
ほとんどの場合、これは機能しています。ただし、リストによっては結果がゼロになることがあります。たとえば、lng lat、31.7823555,35.2991956はゼロを返します。
また、私はこの
http://maps.googleapis.com/maps/api/geocode/json?latlng=31.7823555,35.2991956&sensor=true
のように、APIをGoogleにHTTPリクエストを使用してみましたが、それはまたゼロに戻りました。
これは、携帯電話が入っている国を判断するのは非常に簡単なことです。より良い方法がありますか。ゼロ結果のこの問題を回避するにはどうすればよいですか?
おかげ
EDITED
は、私はそれが紛争地域であるということの答えを受け入れます。しかし、潜在ポイントの近くに「目印」がない場合、結果がゼロになることもありえますか?ポイントが数キロメートルにわたって田舎の真ん中にある場合、結果もゼロになるでしょうか?
ありがとう、上記の編集した質問にお答えできますか?ありがとう – RJB
いいえ、そうしてはいけません。点が国ポリゴンの内側にある場合、逆ジオコーディングは国名を解決する必要があります。ユニークな例外は、国名を持たない紛争地域であり、時には管理領域レベル1もあります。 – xomena
紛争のない地域で結果の種類が「国」である逆ジオコーディングの例がある場合は、[public issue tracker](https://code.google.com/p/gmaps-api)にバグとして報告する必要があります-issues /)。 – xomena