思路是:通过传入地址作为参数拼接url调用百度地图,然后解析返回的页面,提取经纬度坐标。
以下为具体步骤
public void getPoint(String address){ try { String sCurrentLine; String sTotalString; sCurrentLine = ""; sTotalString = ""; java.io.InputStream l_urlStream; java.net.URL l_url = new java.net.URL("http://api.map.baidu.com/geocoder/v2/?address="+address.replaceAll(" ", "")+"&output=json&ak=702632E1add3d4953d0f105f27c294b9&callback=showLocation"); java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection(); l_connection.connect(); l_urlStream = l_connection.getInputStream(); java.io.BufferedReader l_reader = new java.io.BufferedReader(new java.io.InputStreamReader(l_urlStream)); String str=l_reader.readLine(); //用经度分割返回的网页代码 String s=","+"\""+"lat"+"\""+":"; String strs[]=str.split(s, 2); String s1="\""+"lng"+"\""+":"; String a[]=strs[0].split(s1, 2); lng坐标(a[1]); //纬度 s1="}"+","+"\""; String a1[]=strs[1].split(s1, 2); lat坐标(a1[0]); 经度 } catch (Exception e) { e.printStackTrace(); } }