在BlackBerry上获取GPS位置

在BlackBerry上获取GPS位置,blackberry,Blackberry,我无法使用此函数读取位置。当我尝试获取位置信息时,它总是返回高度0,经度0 void getirGps(){ Criteria myCriteria = new Criteria(); myCriteria.setCostAllowed(false); try { LocationProvider myLocationProvider = LocationProvid

我无法使用此函数读取位置。当我尝试获取位置信息时,它总是返回高度0,经度0

    void getirGps(){
        Criteria myCriteria = new Criteria();
        myCriteria.setCostAllowed(false);

        try
        {
            LocationProvider myLocationProvider =
                LocationProvider.getInstance(myCriteria);

            try
            {
                Location myLocation = myLocationProvider.getLocation(300);

                seTLatitude(myLocation.getQualifiedCoordinates().getLatitude());// sunlarıda bir public statıc dene..
                seTLongitude(myLocation.getQualifiedCoordinates().getLongitude());
                Dialog.alert("latitude = "+GPSThread.latitude +" longi"+GPSThread.longitude);
                velocity   = myLocation.getSpeed();
                heading    = myLocation.getCourse();
                timeStamp  = myLocation.getTimestamp();
                nmeaString = myLocation.getExtraInfo
                    ("application/X-jsr179-location-nmea");
            }
            catch ( InterruptedException iex )
            {
                Dialog.alert("InterruptedException");
                return;
            }
            catch ( LocationException lex )
            {
                Dialog.alert("LocationException lex");
                return;
            }
        }
        catch ( LocationException lex )
        {
            Dialog.alert("LocationException lex2");
            return;
        }

    }


public void doThis(){

    MapView mapView = new MapView();
    mapView.setLatitude( (int) Threads.latitude);//39.9208, Longitude = 32.8541 
    mapView.setLongitude((int) Threads.longitude);
    mapView.setZoom(10);
    MapsArguments mapsArgs = new MapsArguments(mapView);
    Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, mapsArgs);

    Dialog.alert("latitude = "+Threads.latitude +" longi"+Threads.longitude);

确保设备上的已启用。

当我在模拟器中尝试我的应用程序时,我会更改菜单上的位置信息,gps定位标记。我假设您担心在doThis()中弹出的对话框显示的是零值。但是,您还没有包含足够的代码来计算这些值是如何从LocationProvider到doThis()方法的。我建议您进一步细分您的问题-在LocationProvider附近添加一些打印输出,查看它返回的值,就在它返回时。我为它做了所有必要的测试。一切正常,除了要求回答。