通过Cell-ID获取位置信息
(Max.chen -) |
(Max.chen -) |
||
| Line 1: | Line 1: | ||
| − | [[Category: | + | [[Category:Sensor]][[Category:Security]] |
== C2系列手机介绍 == | == C2系列手机介绍 == | ||
2011年6月21日,第11届诺基亚年度盛会NokiaConnection在新加坡著名地标滨海湾金沙酒店(MarinaBay)开幕。会上诺基亚执行副总裁Mary McDowell发布三款C2系列新机C2-02、C2-03与C2-06。 | 2011年6月21日,第11届诺基亚年度盛会NokiaConnection在新加坡著名地标滨海湾金沙酒店(MarinaBay)开幕。会上诺基亚执行副总裁Mary McDowell发布三款C2系列新机C2-02、C2-03与C2-06。 | ||
| Line 29: | Line 29: | ||
*(MTA_UNASSISTED | MTE_SATELLITE | MTY_TERMINALBASED) - Standalone GPS | *(MTA_UNASSISTED | MTE_SATELLITE | MTY_TERMINALBASED) - Standalone GPS | ||
*(MTA_UNASSISTED | MTE_CELLID | MTY_TERMINALBASED) - Offline CellID | *(MTA_UNASSISTED | MTE_CELLID | MTY_TERMINALBASED) - Offline CellID | ||
| − | + | 第二个参数parameters是为了以后扩展之用,目前取值只能是null。 | |
以下代码演示了如何利用LocationUtil和JSR179 Location API获取经纬度的信息: | 以下代码演示了如何利用LocationUtil和JSR179 Location API获取经纬度的信息: | ||
| Line 50: | Line 50: | ||
</code> | </code> | ||
| + | 代码运行结果如下图所示: | ||
| − | [[File: | + | [[File:Cellid_result3.PNG|200px]] |
Revision as of 17:32, 26 June 2011
Contents |
C2系列手机介绍
2011年6月21日,第11届诺基亚年度盛会NokiaConnection在新加坡著名地标滨海湾金沙酒店(MarinaBay)开幕。会上诺基亚执行副总裁Mary McDowell发布三款C2系列新机C2-02、C2-03与C2-06。
“这三款手机都能够为消费者带来市场上一流的上网、地图和信息体验,还同时提供触摸屏和键盘两种选择,让操作界面变得更加简便易上手。用户还可以选择双卡或单卡版本,让这三款手机在同类产品中极具竞争力。”MaryMcDowell表示。
本次C2系列的产品组合包括双卡手机与单卡手机,触键双控,能够为S40用户带来全新的、先进的互联网与地图体验。三款手机均配有针对S40系列的全新诺基亚地图,预装当地地图和兴趣点。用户可以在离线的情况下浏览地图并规划路线,从而省去通过网络下载地图的成本。
诺基亚C2-02
JSR179 Location API
JavaME 规范中定义了JSR179 Location API。这个包中涵盖了大量的用于获取位置信息的类。在此基础上,诺基亚又增加了Location API Appendix作为对JSR179的扩展。这个包只包含了一个类:
com.nokia.mid.location.LocationUtil
LocationUtil类也只定义了一个静态方法:
static LocationProvider
getLocationProvider(int[] preferredMethods, java.lang.String parameters)
目前,参数preferredMethods的取值只有下面4组,而对于C2系列手机只能通过Cell-Id取得位置,所以也只能去第一组值。其他三组都不适用于C2系列手机。
- (MTA_ASSISTED | MTE_CELLID | MTE_SHORTRANGE | MTY_NETWORKBASED) - Online CellID and/or WLAN
- (MTA_ASSISTED | MTE_SATELLTITE | MTY_TERMINALBASED) - Assisted GPS
- (MTA_UNASSISTED | MTE_SATELLITE | MTY_TERMINALBASED) - Standalone GPS
- (MTA_UNASSISTED | MTE_CELLID | MTY_TERMINALBASED) - Offline CellID
第二个参数parameters是为了以后扩展之用,目前取值只能是null。
以下代码演示了如何利用LocationUtil和JSR179 Location API获取经纬度的信息:
try {
//MTA_ASSISTED Location method is assisted by the other party
//MTE_CELLID Location method Cell-ID for cellular
//MTY_NETWORKBASED Location method is of type network based.
int[] methods = {(Location.MTA_ASSISTED | Location.MTE_CELLID | Location.MTY_NETWORKBASED)}; // works
LocationProvider lp = LocationUtil.getLocationProvider(methods, null);
Location loc = lp.getLocation(-1);
Coordinates coords = loc.getQualifiedCoordinates();
lat = coords.getLatitude(); //double
lng = coords.getLongitude();//double
}
catch (Exception e) {
e.printStackTrace();
}
代码运行结果如下图所示:
源代码
File:CellID com.nokia.mid.location.LocationUtil.zip

