public class GetLocation {public static void main (string[] args) {//lat 39.97646//log 116.3039 String add = Getadd (" 116.3039 "," 39.97646 "); Jsonobject Jsonobject = Jsonobject.fromobject (add); Jsonarray Jsonarray = Jsonarray.fromobject (jsonobject.getstring ("addrlist")); Jsonobject j_2 = jsonobject.fromobject (jsonarray.get (0)); String Alladd = j_2.getstring ("Admname"); String arr[] = Alladd.split (","); System.out.println ("Province:" +arr[0]+ "\ n City:" +arr[1]+ "\ n area:" +arr[2]);} public static string Getadd (string log, String lat) {//lat small log large//parameter explanation: Latitude, Longitude type 001 (100 for road, 010 for POI,001 representative door, 111 for Display the first three items at the same time) String urlstring = "http://gc.ditu.aliyun.com/regeocoding?l=" +lat+ "," +log+ "&type=010"; String res = ""; try {URL url = new URL (urlstring); Java.net.HttpURLConnection conn = (java.net.HttpURLConnection) url.openconnection (); Conn.setdooutput (TRUE); Conn.setrequestmethod ("POST"); Java.io.BufferedReader in = new Java.io.BuffereDreader (New Java.io.InputStreamReader (Conn.getinputstream (), "UTF-8")); String Line; while (line = In.readline ()) = null) {res + = line+ "\ n"; } in.close (); } catch (Exception e) {System.out.println ("error in Wapaction,and E is" + e.getmessage ()); } System.out.println (res); return res; }}
Java gets addresses based on latitude and longitude