有没有一种方法可以使用J2ME应用程序以编程方式确定移动电话的粗略地理位置,例如确定当前的小区?此问题尤其适用于非GPS设备。
我不是在寻找一组地理坐标,而是一种用户定义特定位置软件行为的能力。
任何硬件的解决方案都将受到高度赞赏;然而,解决方案越通用 - 越好。非常感谢!
答案 0 :(得分:7)
如果设备支持JSR 179位置API,则可以使用此功能。上次我调查这几乎没有任何设备支持它,但那是几年前。
答案 1 :(得分:6)
这是我的第一篇文章stackoverflow。
您可以通过 System.getProperty(String arg)
在很多手机上获取cellID(移动设备所连接的电话杆的ID)
这里我有一个例子,尝试几个键,看看是否可以找到一个cellID。我已经在很多索尼爱立信手机上测试了它,它运行正常,只要它不是像P1这样的Symbian手机等等。如果您搜索网络,您可能会找到更多关键来找到cellID:s用于motorola,samsung等。
try{
String[] cellIDTags = {"com.sonyericsson.net.cellid", "phone.cid", "Siemens.CID", "CellID"};
for(int i = 0; i < cellIDTags.length; i++){
cellID = System.getProperty(cellIDTags[i]);
if(cellID != null && cellID != ""){
location.setCellId(cellID);
break;
}
}
}catch(Exception e){
cellID = "";
}
答案 2 :(得分:0)
我认为没有用于确定位置的通用J2ME API。
我知道BlackBerry有一个特定的API,不仅可以检索粗略的“小区”位置,还可以检索GPS API。
我担心目前GPS解决方案是制造商专有的。
答案 3 :(得分:0)
IMO,没有应用程序可以自己做到这一点。它将需要卫星或移动电话(蜂窝塔)的帮助来操纵手机当前所处的位置,其再次精确到大约30-50米。
此处的计算将由Cell Tower中的软件或卫星中的软件完成。您的应用程序将仅发出请求,然后接收作为响应发送的数据。
同样,您将使用的apis将是由手机公司或sattellite服务提供的api。这几乎从来都不是免费的。我不确定他们也把它卖给了oridinary用户。只有黑莓等大公司才能使用。
答案 4 :(得分:0)
我浏览了很多应用程序下载网站,但没有找到任何:: 但我相信对此的一些研究可以帮助您使用J2ME API构建自己的应用程序。 由DAN给出的代码给出基站号。您可以识别单元格能够对应的最近的站点。实际上,一个单元格能够同时捕获至少6个站点,因此deamonkid解释说,如果您拥有区域或城市的地理参考地图,则可以使用多点定位来近似位置。应用程序将计算距离最近的塔的距离和方向,并且地图已经具有该基站的坐标。所以你可以计算空间坐标(估计)suresh。 你可以通过这个获得100米的精度。 这可能需要您可能下载的信号强度测量应用程序。 现在如果您可以基于此生成代码请分享。我也对此进行了广泛的研究。祝你好运suresh和所有