Я пытаюсь получить лат и долго от аффекта в приложении для Android. Я получаю различные ошибки, последние javax.net.ssl.SSLHandshakeException: Handshake failed
.android Google api get lat long from address
Это мой код, я попытался что-то сделать, проверив сеть, но она не работает.
private static final String getLatLongUrl = "https://maps.googleapis.com/maps/api/geocode/xml?address=#ADDRESS#&key=";
public String getLatLong(){
String json = "{\"key\":1}";
String urlS = getLatLongUrl;
urlS = urlS.replace("#ADDRESS#", address);
urlS += apiKey;
String json = "{\"key\":1}";
try {
URL url = new URL(urlS);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
wr.writeBytes(json);
wr.flush();
wr.close();
String tag[] = { "lat", "lng" };
InputStream stream = conn.getInputStream();
conn.disconnect();
DocumentBuilder builder = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
Document doc = builder.parse(stream);
if (doc != null) {
NodeList nl;
ArrayList args = new ArrayList();
for (String s : tag) {
nl = doc.getElementsByTagName(s);
if (nl.getLength() > 0) {
Node node = nl.item(nl.getLength() - 1);
args.add(node.getTextContent());
} else {
args.add(" - ");
}
}
String result = "lat:" + args.get(0) + " long:" + args.get(1);
return result;
}
} catch(Exception ex){
return "";
}
return "";
}
Вероятно, мне не удалось что-то, но я не могу понять, что это мой первый раз httlUrlConnection
и GoogleApi
. Любая помощь будет оценена Спасибо всем
Я не думаю, я только что прочитал, что в API 23 HttpClient устарела и что он был заменен на HttpUrlConnection. Но любое решение действительно оценено :) –