在blackberry中通过GPS获取坐标

在blackberry中通过GPS获取坐标,gps,location,blackberry-simulator,Gps,Location,Blackberry Simulator,我在BlackBerry simulator 9800中调用startLocationUpdate()以获取我所在位置(即阿联酋)的坐标(纬度、经度)。但是我得到了加拿大的坐标。这是什么意思?GPS坏了吗?我尝试检查模拟器的设置,但没有看到任何“打开GPS”选项。请指导如何获取我的当前位置 private boolean startLocationUpdate() { boolean retval = false; try

我在BlackBerry simulator 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等),无论哪种连接可用,我都想通过可用的服务获取坐标

BB模拟器中的默认GPS位置设置为加拿大的一个位置(据我记忆所及,滑铁卢),这就是为什么您要获得加拿大的坐标。您可以在BB模拟器中从“模拟->GPS位置”更改GPS位置。 我可以帮你

以下链接也可能有帮助:


  • 有关连接问题,请参见此

    ,感谢链接。来自BB SupportForums的视频用于从模拟器转向GPS。我正在为Eclipse使用BlackBerry插件,没有这样的选项。我花了一整天的时间,但我看不到任何地方可以打开GPS。在Eclipse BlackBerry插件中我从何处打开GPS?无论您使用Eclipse BlackBerry插件还是JDE,运行的9800模拟器都必须是相同的。运行模拟器后,应查找“模拟-->GPS位置…”选项。。。不在Eclipse环境中。@Sarah,运行应用程序时请查看模拟器的菜单栏。然后您将看到“模拟-->GPS位置…”选项。谢谢各位,我现在就知道了。我的错误,没有正确查找。谢谢。@HeartBeat,在你发表评论之前,我本来打算这么做的:)这些链接对我很有用。谢谢