2017-01-21 6 views
1

ユーザーが海外を旅行する際に特定の情報を表示するには、ユーザーがいる国を取得する必要があります。 国を決定する多くの方法が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

は、私はそれが紛争地域であるということの答えを受け入れます。しかし、潜在ポイントの近くに「目印」がない場合、結果がゼロになることもありえますか?ポイントが数キロメートルにわたって田舎の真ん中にある場合、結果もゼロになるでしょうか?

答えて

1

私が正しく理解している場合、座標31.7823555,35.2991956はウェストバンクにあります。現在、西銀行はdisputed areaです。

残念ながら、Googleマップの逆ジオコーディングは紛争地域では機能しません。これは既知の問題であり、公開号トラッカーでissue 9792と報告されています。問題のステータスが「承認済み」で、公開の問題に関連する内部の問題#31447205があるため、この問題に取り組んでいるようです。現時点では、Google Maps APIの回避策はありません。

私は問題9792を主題にしてあなたの興味を表明し、Googleから更なるアップデートを受け取るよう提案することができます。

+0

ありがとう、上記の編集した質問にお答えできますか?ありがとう – RJB

+0

いいえ、そうしてはいけません。点が国ポリゴンの内側にある場合、逆ジオコーディングは国名を解決する必要があります。ユニークな例外は、国名を持たない紛争地域であり、時には管理領域レベル1もあります。 – xomena

+0

紛争のない地域で結果の種類が「国」である逆ジオコーディングの例がある場合は、[public issue tracker](https://code.google.com/p/gmaps-api)にバグとして報告する必要があります-issues /)。 – xomena

関連する問題