【问题标题】:Get coordinates via GPS in blackberry在黑莓中通过 GPS 获取坐标
【发布时间】:2012-07-17 06:55:47
【问题描述】:

我在 BlackBerry 模拟器 9800 中调用 startLocationUpdate() 以获取我所在位置的坐标(纬度、经度),即在阿联酋。但是我得到了加拿大的坐标。这是什么意思? GPS不工作吗?我尝试检查模拟器的设置,但没有看到“打开 GPS”的任何选项。请指导如何获取我的当前位置。

private boolean startLocationUpdate()
    {
        boolean retval = false;

            try
            {
            locationProvider = LocationProvider.getInstance(null);

            if ( locationProvider == null )
            {

            Runnable showGpsUnsupportedDialog = new Runnable()
            {
                public void run()
                {

                Dialog.alert("GPS is not supported on this platform, exiting...");
                //System.exit( 1 );
                }
            };

            UiApplication.getUiApplication().invokeAndWait( showGpsUnsupportedDialog ); // Ask event-dispatcher thread to display dialog ASAP.
            }
            else
            {

            locationProvider.setLocationListener(new LocationListenerImpl(), interval, -1, -1);

            retval = true;
            }
            }
            catch (LocationException le)
            {
                System.err.println("Failed to instantiate the LocationProvider object, exiting...");
                System.err.println(le);
                System.exit(0);
            }
            return retval;
            }

            private class LocationListenerImpl implements LocationListener
            {

            public void locationUpdated(LocationProvider provider, Location location)
            {
                    if(location.isValid())
                    {
                        longitude = location.getQualifiedCoordinates().getLongitude();
                        latitude = location.getQualifiedCoordinates().getLatitude();

                        updateLocationScreen(latitude, longitude);              

                    }
            }

            public void providerStateChanged(LocationProvider provider, int newState)
            {
            }
        }

         private void updateLocationScreen(final double latitude, final double longitude)
            {
                    UiApplication.getUiApplication().invokeAndWait(new Runnable()
                    {
                    public void run()
                    {
                    lat = latitude;
                    longt = longitude;


                    RichTextField txt=new RichTextField();
                    txt.setText("Long=="+longt);

                    RichTextField txt1=new RichTextField();
                    txt1.setText("lat=="+lat);

                    add(txt);
                    add(txt1);


//                  persistentLatitude.setContents(Double.toString(latitude));
//                  persistentLongitude.setContents(Double.toString(longitude));



                    }
                    });
            }

我想检查 GPS 和互联网(Wifi、BES、GPRS/edge 等),无论哪种连接可用,我想通过可用服务获取坐标。

【问题讨论】:

    标签: gps location blackberry-simulator


    【解决方案1】:

    BB Simulators 中的默认 GPS 位置设置为加拿大的某个位置(据我所知是滑铁卢),这就是您获取加拿大坐标的原因。您可以从 BB Simulator 中的“模拟-> GPS 位置”更改 GPS 位置。 This video from BB SupportForums 可以帮到你。

    以下链接也可能有帮助:

    1. SO Answer for 'BlackBerry GPS Application'
    2. API for BlackberryLocation

    有关连接问题,请参阅link

    【讨论】:

    • 感谢您的链接。来自 BB SupportForums 的视频,用于从模拟器中转换 GPS。我正在使用 BlackBerry Plugin for Eclipse,但没有这样的选项。我花了一整天的时间,但我没有看到任何可以打开 GPS 的地方。我在 Eclipse BlackBerry Plugin 中从哪里打开 GPS?
    • 不管你用的是Eclipse Blackberry Plugin还是JDE,两者运行的9800模拟器必须是一样的。您应该在运行模拟器后寻找“模拟 --> GPS 位置...”选项...而不是在 Eclipse 环境中。
    • @Sarah,运行应用程序时请查看模拟器的菜单栏。然后您将看到“模拟 --> GPS 位置...”选项。
    • 谢谢各位,我现在明白了。我的错误,没有正确查找。谢谢。
    • @HeartBeat,在您发表评论之前,无论如何我都会这样做:) 链接对我很有用。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多