【发布时间】:2017-06-06 15:55:52
【问题描述】:
当用户出国旅行时,我需要获取用户所在的国家/地区以显示某些信息。 许多确定国家/地区的方法都需要 sim 卡,但这种方法不需要。所以这就是我使用的(通过一些尝试,捕获)
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 请求到 google api,像这样
http://maps.googleapis.com/maps/api/geocode/json?latlng=31.7823555,35.2991956&sensor=true
但它也返回零。
这应该很容易确定,手机在哪个国家。有没有更好的方法。如何解决零结果的问题?
谢谢
已编辑
我接受这是一个有争议的地区的答案。但是,如果纬度点附近没有“地标”,是否也会有零结果?如果点在农村中部多公里,结果也会为零吗?
【问题讨论】:
标签: android google-maps google-maps-api-3 geocoding