小编G.T*_*.T.的帖子

Android Geocoder和Google Geocoding网络服务之间的结果不同

我正在创建一个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)

android google-geocoding-api google-maps-android-api-2

6
推荐指数
1
解决办法
1923
查看次数