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;
}
}
分享到:
相关推荐
为了实现精确的位置服务,如GPS定位、紧急呼叫定位等,我们需要获取基站的相关信息,其中包括逻辑接入控制区(Location Area Code,LAC)和小区识别码(Cell ID),以及基站的经纬度、所在国家、省会、城市和详细...
Google提供了API服务,允许开发者通过基站信息来获取对应的地理位置信息,如经纬度和实际地址。本项目就是针对这个功能进行封装,以C#编程语言实现,方便开发者快速集成和使用。 首先,基站码(Cell ID)是移动网络...
经纬度 转 CellId 经纬度 转 cellToken CellId 转 经纬度 判断当前cellId的level * 获取任意形状内所有S2块 * 可以用于区域内目标检索,根据cellid建立索引,查询区域内cellid in (list)的区域 S2计算点距离 计算...
另一方面,"同时也封装好经纬度获取地址接口"指的是反向地理编码的过程。当你有一个经纬度坐标,可以使用Google Maps Geocoding API获取对应的物理地址。这个过程与之前类似,但参数不同: ```csharp public async ...
在ASP.Net中,如果你需要获取特定的地理位置信息,如手机基站的cell-id(小区标识)和LAC(位置区码)对应的经纬度坐标,可以利用Google Geolocation API。这个API是一个网络协议,允许应用程序通过互联网查询设备的...
具体来说,当设备请求定位时,会首先通过网络获取当前所在区域的Cell ID和LAC(Location Area Code,位置区码)。这些信息可以迅速缩小可能的地理位置范围,减少GPS搜索卫星的时间,从而提高定位速度和精度。 获取...
综上所述,这个项目的核心是利用C#语言在Windows CE环境下开发一个程序,该程序能从移动网络中获取CellID和LAC信息,进而提供定位服务。同时,考虑到"niceTracke"和"wince_printer"的标签,它可能还具备打印功能,将...
在Java编程环境下,我们可以利用Google提供的API和服务来实现这一功能。本文将深入探讨如何使用Java编写Google基站定位代码,以及相关的技术要点。 首先,基站定位的基础是通过获取到手机连接的基站信息,包括基站...
IMEI的获取通常通过调用Java ME的` javax.microedition.midlet.MIDlet`接口中的` javax.microedition.io.Connector`服务来完成,通过特定的协议如AT命令与设备的硬件层进行通信。 Cell ID是移动网络中基站的唯一...
如果用户能够在短时间内获取到较多的基站信息,比如4个或5个,可以通过这几个基站的经纬度计算出比较准确的用户位置。 举个例子,比如我在WM上取到4个基站信息: 50554,9513,460,1 50325,9513,460,1 50584,9513,...
1. 编写测试程序:利用上述API获取CELLID和LAC,并将其存储或展示出来。 2. 测试环境准备:在有多个基站覆盖的区域进行测试,以便观察设备在不同基站间切换时CELLID的变化。 3. 执行测试:在不同地点启动测试程序,...
本文将深入探讨“google未公开API基站定位java版2013年4月可用”这一主题,以及相关的知识点。 首先,基站定位是通过利用手机与周围GSM(Global System for Mobile Communications)基站之间的通信来确定设备位置。...
《基于CELLID设备管理测试规范》是中国移动通信企业标准的一部分,旨在规范基于CELLID位置业务(LBS,Location-Based Services)的LSP(Location Service Platform)设备的测试流程。这份文档详细阐述了测试的各项...
基站数据库,包括CELLID、LAC、经纬度、详细地址等
4. **解析位置结果**:位置信息将以特定格式返回,用户需要解析这些数据来获取经纬度等有用信息。 ```plaintext +QCELLLOC: ,,,<cellid>,<lac> ``` 其中,`<lon>`和`<lat>`分别代表经度和纬度坐标;`<timestamp>...
google推荐获取基站信息软件 附件为android 版 network info II
谷歌;google;s2-geometry-library-java.jar;cellId;空间点;地理信息;GIS;空间技术;空间索引;谷歌;google;s2-geometry-library-java.jar;cellId;空间点;地理信息;GIS;空间技术;
【CellID EVC源码】是一款专用于获取基站信息的软件源码,它基于EVC(Embedded Visual C++)开发,允许用户通过AT命令与移动设备进行通信,从而获取到手机当前连接的基站识别信息,如Cell ID和LAC(Location Area ...
获得小区识别码(CellID),即无线网络上报终端所处的小区号(根据服务的基站来估计),位置业务平台把小区号翻译成经纬度坐标。 获得位置区编码(Lac:gsmlocationarea code)(移动通信系统中),是为寻呼而设置的一个区域...
### 中国移动位置业务Le接口技术规范V2.0版知识点解析 #### 一、概述 《中国移动位置业务Le接口技术规范V2.0版...这些内容对于理解Le接口的工作原理以及如何利用这一接口开发高效稳定的位置服务具有重要的指导意义。