如何从纬度和经度 android 获取 post 代码

How to get post code from lat and long android

我正在使用这两个线程:

How to find postcode by latitude and logitude for UK

Get current location using GPS in Android

并且已经成功实现了 GPStracker,但是,当我尝试使用第一个线程接收 post代码时,它没有给我任何 post:

我将其作为全局变量:

public String receivePostCode = "";

然后在 onCreate 中我有这个:

Geocoder geoCoder = new Geocoder(getActivity().getApplicationContext(), Locale.getDefault());
        List<Address> address = null;

        if (geoCoder != null) {
            try {
                address = geoCoder.getFromLocation(latitude, longitude, 1);
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            if (address.size() > 0) {
                receivePostCode = address.get(0).getPostalCode();

            }

        }

这些是我用来从我的 GPStracker 接收纬度和经度的全局变量 class:

GPSTracker gps = new GPSTracker(getActivity());
double latitude = gps.getLatitude();
double longitude = gps.getLongitude();

任何帮助都会很好。

您必须在 onCreate 或 onCreateView 中初始化变量,它们不应全局初始化,试试这个,在 onCreate 中:

  gps = new GPSTracker(getActivity());
  latitude = gps.getLatitude();
  longitude = gps.getLongitude();

并将其作为全局:

GPSTracker gps;
double latitude;
double longitude;