public static String getMethod(final String search, final int latE6, final int lonE6) {
        try {
            final String info = "q=" + search.toLowerCase() + ",lat=" + latE6 + ",lon=" + lonE6 + ",ua=" + Network.USER_AGENT + ",api=1";
            final MessageDigest digest = MessageDigest.getInstance("SHA-256");
            final byte[] temp = digest.digest(info.getBytes(StandardCharsets.UTF_8));
            final StringBuilder hexString = new StringBuilder(2 * temp.length);
            for (byte b : temp) {
                final String hex = Integer.toHexString(0xff & b);
                if (hex.length() == 1) {
                    hexString.append('0');
                }
                hexString.append(hex);
            }
            return hexString.toString();
        } catch (NoSuchAlgorithmException ignore) {
            return "";
        }
    }
Retrieve the physical address for coordinates. The work happens on the network scheduler.

@param coords the coordinates
@return an observable containing one location or an error
main/src/main/java/cgeo/geocaching/address/OsmNominatumGeocoder.java