我正在创建一个Android应用程序,我需要使用地理位置.
我已经开始使用Android的Geocoder API(android.location.geocoder),但它会导致一些问题(等待服务器响应的时间超时),根据我所读的内容,这似乎很常见.
为了使我的应用程序在发生此类错误时正常工作,我使用了Geocoding Web服务.
现在,应用程序每次都有效.问题是地理编码器从API返回的结果和来自Web服务的地理编码器的结果不一样.
例如,Web服务仅返回3个仅包含城市名称和国家/地区的地址,而来自API的地理编码返回大约8个具有功能名称,通道,地点的地址...
问题是:有没有办法让Web服务的结果与API中的结果完全相同?
编辑
这是我的MainGeocoder类:
public class MainGeocoder {
private Geocoder geocoderAPI;
private GeocoderRest geocoderRest;
public MainGeocoder(Context context) {
geocoderAPI = new Geocoder(context);
geocoderRest = new GeocoderRest(context);
}
public List<Address> getFromLocationName(String search, int maxResults) {
List<Address> addresses;
try {
addresses = geocoderAPI.getFromLocationName(search, maxResults);
return addresses;
} catch (IOException e) {
e.printStackTrace();
try {
addresses = geocoderRest.getFromLocationName(search, maxResults);
return addresses;
} catch (IOException e1) {
return null;
} catch (LimitExceededException …Run Code Online (Sandbox Code Playgroud)