【问题标题】:BlackBerry Cell Tower Location黑莓手机信号塔位置
【发布时间】:2013-05-26 12:29:32
【问题描述】:

我已通过标准在我的黑莓手机中成功获取位置;

BlackBerryCriteria myCriteria = new BlackBerryCriteria(LocationInfo.GEOLOCATION_MODE)

位置是在以下场景中获取的:

  • 黑莓手机上没有移动信号覆盖
  • 有效的互联网连接
  • 没有 GPS 定位

我的问题是获取的这个位置是什么 - GPS 或蜂窝塔三角测量?

我相信,由于该位置是在没有任何 GPS 定位的情况下在室内获取的,因此它应该是一个蜂窝塔位置。我没有移动网络覆盖,但已获取位置。那么手机信号塔信息是如何获得的呢?如果我使用的是漫游 GPRS 连接,获得的位置是否会有所不同(基于 IP 设置)?作为参考,下面是获取位置的完整代码:

 try
 {
     BlackBerryCriteria myCriteria = new BlackBerryCriteria(LocationInfo.GEOLOCATION_MODE);
     try
     {
         BlackBerryLocationProvider myProvider = (BlackBerryLocationProvider)
         LocationProvider.getInstance(myCriteria);
         try
         {
             BlackBerryLocation myLocation = (BlackBerryLocation)myProvider.getLocation(30000);
             double _longitude = myLocation.getQualifiedCoordinates().getLongitude();
             double _latitude = myLocation.getQualifiedCoordinates().getLatitude();

             setLocation(new Coordinates(_latitude, _longitude, 0.0f)); 

         }
         catch (InterruptedException e)
         {
             showException(e);
         }
         catch (LocationException e)
         {
             showException(e);
         }
     }
     catch (LocationException e)
     {
         showException(e);
     }
} 

【问题讨论】:

    标签: blackberry geolocation gps location


    【解决方案1】:

    如果我没看错你的描述:

    No mobile coverage on the BlackBerry handset
    Active internet connection
    No GPS fix
    

    您必须有 Wi-Fi 连接(有效的互联网,但没有移动网络覆盖)。

    因此,该设备随后使用 Wi-Fi 地理定位(aka WLAN 地理定位),它是在 BlackBerry Java 开发的后期添加的(尽管它仍然可用一段时间。 .. 操作系统 6.0+)。

    http://devblog.blackberry.com/2011/09/wifi-geolocation-launch/

    显然,测试是关掉你的 Wi-Fi,看看你是否还能得到位置修复。

    【讨论】:

    • 如果没有 WIFI,我无法获取位置。我需要 wifi 连接来获取位置。获取此位置的方法是什么?这是基于什么?其次,这在 OS 6 及更高版本中运行良好。但是,OS 5 不支持LocationInfo.GEOLOCATION_MODE。我应该为 OS 5 使用什么等价物?请指导
    • @Sarah,请查看我发布的链接。黑莓在 OS 6 中添加了GEOLOCATION_MODE(和GEOLOCATION_MODE_WLAN)。GEOLOCATION_MODE 将选择任何可用的位置修复。如果您没有移动/蜂窝网络覆盖,但有 Wi-Fi,那么它将选择 Wi-Fi。如果您真的需要支持 OS 5.0(现在已经非常非常老了),那么您可以使用第 3 方解决方案。 For example, Google has a geolocation API 支持 wifi 定位修复。
    • Here is another link 到支持 Wi-Fi 修复的第 3 方解决方案,尽管这是特定于运营商(和国家/地区)的。
    • 感谢@Nate 提供详细信息。至于 Google 地理定位 API,我目前正在使用:int cellID =GPRSInfo.getCellInfo().getCellId(); int lac = GPRSInfo.getCellInfo().getLAC(); String urlString2 = "http://www.google.com/glm/mmap"; 这是带有 Cell ID 的。但是它无法正常工作。我正在尝试使用您提供但无法启动的 Google API。请建议如何访问 Google API 的 Wi-Fi 数据?
    • @Sarah,这真的是一个完全不同的问题。我们不应该在 cmets 下面开始新的问题,因为其他人通常不会阅读它们。您的问题是确定位置数据来自哪里,而答案是来自 Wifi 位置修复。您可以发布一个新问题,只显示您的 Google API 代码,并询问为什么它不起作用。谢谢。
    猜你喜欢
    • 2011-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多