Java利用CellID LAC调用Google接口获取经纬度例子
http://code.google.com/intl/zh-CN/apis/gears/geolocation_network_protocol.html
?
代码中是用GSM查询格式,如果是CDMA查询和GSM查询格式是一样的,只是需要修改4个地方:
1.radio_type 改为 “cdma”
2.cell_id 用 BID值替换
3.location_area_code用NID值替换
4.mobile_network_code用SID值替换
?
import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;/** * Java利用CellID LAC调用Google接口获取经纬度例子 */public class GoogleJson {public static void main(String args[]) {GoogleJson test = new GoogleJson();URL url = null;HttpURLConnection conn = null;try {url = new URL("http://www.google.com/loc/json");conn = (HttpURLConnection) url.openConnection();conn.setDoOutput(true);conn.setRequestMethod("POST");String json = test.getJson();System.out.println(json);conn.getOutputStream().write(json.getBytes());conn.getOutputStream().flush();conn.getOutputStream().close();int code = conn.getResponseCode();System.out.println("code " + code);BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));String inputLine;inputLine = in.readLine();System.out.println(inputLine);in.close();// 解析结果// JSONObject result = new JSONObject(inputLine);// JSONObject location = result.getJSONObject("location");// JSONObject address = location.getJSONObject("address");// System.out.println("city = " + address.getString("city"));// System.out.println("region = " + address.getString("region"));} catch (Exception e) {e.printStackTrace();} finally {if (conn != null)conn.disconnect();}}/** * Google的官方例子 */private String getJson() {String json = "{ "+ ""version": "1.1.0", "+ ""host": "maps.google.com", "// +// ""access_token": "2:k7j3G6LaL6u_lafw:4iXOeOpTh1glSXe", "+ ""home_mobile_country_code": 460, "+ ""home_mobile_network_code": 00, "+ ""radio_type": "gsm", "+ ""carrier": "Vodafone", "+ ""request_address": true, "+ ""address_language": "zh_CN", "// + ""location": { "// + ""latitude": 51.0, " + ""longitude": -0.1 " + "}, "+ ""cell_towers": [ "+ "{ "+ ""cell_id": 4912, "+ ""location_area_code": 20516, "+ ""mobile_country_code": 460, "+ ""mobile_network_code": 00, "+ ""age": 0, "+ ""signal_strength": -60, "+ ""timing_advance": 5555 "+ "}"// +", " + "{ " + ""cell_id": 88, "// + ""location_area_code": 415, "// + ""mobile_country_code": 310, "// + ""mobile_network_code": 580, " + ""age": 0, "// + ""signal_strength": -70, " + ""timing_advance": 7777 "// + "}"+ "]" //+", " + ""wifi_towers": [ " + "{ "//+ ""mac_address": "00:18:39:f4:29:01", "//+ ""signal_strength": 8, " + ""age": 0 " + " }"//// ", " + "{ "//// + " "mac_address": "01-23-45-67-89-ac", "//// + " "signal_strength": 4, " + " "age": 0 " + "}"//+ "] "+ "}";return json;}}??
?