0

私はBlackBerryシミュレーター9800でstartLocationUpdate()を呼び出して、現在の場所、つまりUAEの座標(緯度、経度)を取得しています。しかし、私はカナダの座標を取得します。これは何を意味するのでしょうか?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など)の両方を確認したいのですが、どちらの接続が利用できる場合でも、利用可能なサービスを通じて座標を取得したいと思います。

4

1 に答える 1

2

BB シミュレーターのデフォルトの GPS 位置はカナダ (私が覚えている限りではウォータールー) の位置に設定されているため、カナダの座標を取得しています。BB Simulator の「Simulate -> GPS Location」から GPS 位置を変更できます。 BB SupportForums のこのビデオが役立つかもしれません。

次のリンクも役立つ場合があります。

  1. 「BlackBerry GPS アプリケーション」に対する SO の回答
  2. BlackberryLocation の API

接続の問題については、このリンクを参照してください

于 2012-07-17T07:57:08.700 に答える