Android反向地理编码需要互联网连接或后端数据提供商

Android反向地理编码需要互联网连接或后端数据提供商,android,geolocation,google-places-api,android-location,google-geocoding-api,Android,Geolocation,Google Places Api,Android Location,Google Geocoding Api,我刚刚深入研究了全球定位系统(GPS)的世界,发现了以下有趣的事实: 1) 当通过反向地理编码获取地址时,Android类Android.location.Geocoder总是返回null。我使用的代码是: Geocoder mGeocoder = new Geocoder(context, locale); List<Address> addresses = mGeocoder.getFromLocation(latitude, longitude, 1); if (!addres

我刚刚深入研究了全球定位系统(GPS)的世界,发现了以下有趣的事实:

1) 当通过反向地理编码获取地址时,Android类
Android.location.Geocoder
总是返回
null
。我使用的代码是:

Geocoder mGeocoder = new Geocoder(context, locale);
List<Address> addresses = mGeocoder.getFromLocation(latitude, longitude, 1);
if (!addresses.isEmpty()) {
    // do something.
} else {
    // Display a message regarding no address available.
}
Geocoder mGeocoder=新的地理编码器(上下文、区域设置);
名单:

Geocoder类需要的后端服务不包括在 核心android框架

因此,本质上,我要么自己提供离线地理位置数据进行反向地理编码,要么我的Android应用程序必须连接到互联网并从谷歌(通过
http://maps.googleapis.com/maps/api/geocode/json?latlng=
例如)。或者使用其他地理位置提供商,如

2) 像谷歌地图这样的Android应用程序需要互联网连接;而像TomTom这样的离线提供商将离线地理位置数据与他们的应用捆绑在一起,因此不需要互联网连接

除了上述事实之外,是否还有其他方法可以在不使用离线反向地理数据或互联网连接的情况下检索地理位置地址

如果你对Android中的地理编码和反向地理编码有一些经验,那么请发表你的想法


谢谢。

每种方法至少有一种

对于反向地理编码,您可以让用户自己使用gps标记地址的地理位置


对于地理编码,您让用户查找一组坐标,然后让他读取街道名称和地址

每种方法至少有一种

对于反向地理编码,您可以让用户自己使用gps标记地址的地理位置


对于地理编码,您让用户查找一组坐标,然后让他读取街道名称和地址

很少有脱机库可用于反转lne的地理编码。建议您浏览这些库。就我个人而言,我没有使用过这些库。如果您仍然面临任何问题,请告诉我

链接的示例代码:


很少有脱机库可用于反转lne的地理编码。建议您浏览这些库。就我个人而言,我没有使用过这些库。如果您仍然面临任何问题,请告诉我

链接的示例代码:


除了您在帖子中所述的方法外,我不知道还有其他任何反向地理编码方法。对于基于OSM的地理编码,您可以尝试Telenav SDK,因为它们提供了离线地理编码和反向地理编码:除了您在帖子中所述的方法,我不知道还有其他的反向地理编码方法。对于基于OSM的地理编码,你可以尝试Telenav SDK,因为它们提供了离线地理编码和反向地理编码:除了你在文章中提到的方法之外,我不知道任何其他反向地理编码方法。对于基于OSM的地理编码,您可以尝试Telenav SDK,因为它们提供了脱机地理编码和反向地理编码:感谢您发布您的答案,但我的要求与您建议的不同。;)谢谢您的回复,但我的要求与您的建议不同。;)谢谢您的回复,但我的要求与您的建议不同。;)