其他分享
首页 > 其他分享> > android-通过网络api以可靠的方式获取县名

android-通过网络api以可靠的方式获取县名

作者:互联网

我正在寻找任何网络api,只要有一组经纬度,它就能让我找到我所在的县.我知道可以通过Android GeoCoder完成此操作,但是我对结果不满意,即使是从我的家乡(位于城市),该位置也使用以下代码返回了null:

addresses = geocoder.getFromLocation(mLocation.getLatitude(), mLocation.getLongitude(), 1);
address=addresses.get(0);
Log.v(TAG,""+address.getSubAdminArea());

它找到了我的地址,我的州和我的城市,但没有找到我的县.

最终,我希望此方法可以在我可以远离铺砌的道路但仍然知道我在哪个县的情况下工作,并且我坚信,即使我无法弄清楚自己在哪里城市,我永远不会弄清楚自己在乡村环境中的位置.我宁愿不为此服务付费,但如果服务足够好,我什至愿意付费.我想使用网络api,显然,我需要在上述远程位置访问Internet.

完美的应用程序将按照优先顺序满足以下要求.

>在任何地方都能可靠地工作,无需道路
>在美国的功能.
>在任何国家(相当于一个县)工作,并按技术用途划分优先级.
>快速工作
>每天至少可以免费拨打约1000个电话.
>还要提取状态信息和邮政编码.
>当然,即使可以访问互联网,也可以在无人居住的小岛上工作.

解决方法:

您可以尝试Nominatim.它应该满足您的所有要求.它使用来自OpenStreetMap的数据,并且具有geocodingreverse-geocoding的功能.请参见以下示例反向地理编码查询:

07003

如果您修改format参数,它也可以返回JSON而不是XML.

OSM的官方Nominatim实例具有相当严格的usage policy,因为它在捐赠的服务器上运行.但是,也有没有这种限制的替代实例,例如MapQuest提供的实例.当然,也可以使用local installation.

标签:reverse-geocoding,asp-net-web-api,android
来源: https://codeday.me/bug/20191122/2061431.html