繁体   English   中英

地理编码器,在 Android 中获取国家/地区,getFromLocation 零结果

[英]Geocoder, get country in Android, getFromLocation zero results

当用户出国旅行时,我需要获取用户所在的国家/地区以显示某些信息。 许多确定国家/地区的方法都需要 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

但它也返回零。

这应该很容易确定,手机在哪个国家。有没有更好的方法。 我怎样才能解决这个零结果的问题?

谢谢

已编辑

我接受这是一个有争议的地区的答案。 但是,是否也可能是如果纬度点附近没有“地标”,结果将为零? 如果点在农村中间多公里,也会有零结果吗?

如果我理解正确,坐标31.7823555,35.2991956位于西岸。 西岸目前是一个有争议的地区

不幸的是,谷歌地图反向地理编码在有争议的地区不起作用。 这是一个已知问题,它在公共问题跟踪器中报告为问题 9792 看起来谷歌正在解决这个问题,因为问题的状态是接受,并且有相关的内部问题 #31447205 附加到公共问题。 目前没有适用于 Google Maps API 的解决方法。

我可以建议为问题 9792 加注星标以表达您的兴趣并接收来自 Google 的进一步更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM