-1

В моей заявке необходимо принять текущую информацию о местоположении, я использую следующий код; и назовите его buttonclick, но он не работает на устройстве и в симуляторе, если есть какие-либо идеи, пожалуйста, помогите.Вывод информации о местоположении GPS

private void getLocationServices(){ 
    Thread geoThread=new Thread(){ 
     public void run(){ 
      try{ 
       Criteria myCriteria = new Criteria(); 
       myCriteria.setCostAllowed(false); 
       try{ 
        LocationProvider myLocationProvider = LocationProvider.getInstance(myCriteria); 
        try{ 
         locationaddress=new AddressInfo(); 
         Location myLocation = myLocationProvider.getLocation(300); 
         _lattitude = myLocation.getQualifiedCoordinates().getLatitude(); 
         _longitude = myLocation.getQualifiedCoordinates().getLongitude(); 
         int intLatitude = (int) _lattitude * 100000; 
         int intLongitude = (int) _longitude * 100000; 
         try{ 
          Landmark[] results= Locator.reverseGeocode(intLatitude, intLongitude, Locator.ADDRESS); 
          if (results != null && results.length > 0) { 
           locationaddress=results[0].getAddressInfo(); 
           lblLoc.setText(locationaddress.getField(AddressInfo.CITY)); 
          } 
         }catch (Exception e) { 
          // TODO: handle exception 
         } 

        }catch (Exception e) { 
         // TODO: handle exception 
        } 

       }catch (Exception e) { 
        // TODO: handle exception 
       } 
      }catch (Exception e) { 
       // TODO: handle exception 
      } 
     } 
    }; 
    geoThread.start(); 
} 
+0

Есть ли у вас более подробной информации о том, где она не работает? Например, вы получаете исключение? Если да, то на какой строке? Или результаты отличаются от ожидаемых? Нужна дополнительная информация о том, что не работает. –

ответ

0

Вы моделировали GPS в тренажере? Имитация -> Позиция GPS, затем в диалоговом окне добавьте позицию или настройте имитированный маршрут.

0

Первый шаг - поместить некоторые записи в обработчики исключений.

Это, вероятно, покажет вам какое-то исключение. Как только вы это выясните, вы увидите, как код может делать что-то неправильное, что вызывает исключение.

0

Это, вероятно, не проблема GPS. Вероятно, вы пытаетесь обновить поле пользовательского интерфейса, не входя в поток событий. См. my answer to this related question для получения информации о том, как этого избежать.

0
CustomMapField mMapField; 
Coordinates mCoordinates; 
BlackBerryCriteria blackBerryCriteria = null; 
BlackBerryLocation blackBerryLocation = null; 
BlackBerryLocationProvider blackBerryLocationProvider = null; 
double Doublelat = 0.0; 
double Doublelng = 0.0; 
blackBerryCriteria = new BlackBerryCriteria(); 
if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_CELLSITE)){ 
    blackBerryCriteria.setMode(GPSInfo.GPS_MODE_CELLSITE); 
}else if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_ASSIST)){ 
    blackBerryCriteria.setMode(GPSInfo.GPS_MODE_ASSIST); 
}else if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_AUTONOMOUS)){ 
    blackBerryCriteria.setMode(GPSInfo.GPS_MODE_AUTONOMOUS); 
}else{ 
    blackBerryCriteria.setCostAllowed(true); 
    blackBerryCriteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_LOW); 
} try { 
    blackBerryLocationProvider = (BlackBerryLocationProvider)    BlackBerryLocationProvider.getInstance(blackBerryCriteria); 
    blackBerryLocation = (BlackBerryLocation) blackBerryLocationProvider.getLocation(60); 
    QualifiedCoordinates qualifiedCoordinates = blackBerryLocation.getQualifiedCoordinates(); 
    Doublelat = qualifiedCoordinates.getLatitude(); 
    Doublelng = qualifiedCoordinates.getLongitude(); 
    mCoordinates = new Coordinates(Doublelat, Doublelng, 0); 
    MapView mapView = new MapView(); 
    mapView.setLatitude(finalintlat); 
    mapView.setLongitude(finalintlng); 
    mapView.setZoom(10); 
    MapsArguments mapsArgs = new MapsArguments(mapView); 
    Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, mapsArgs); 
}catch(Exception e){ 
    System.out.println("Error in location :"+e.toString()); 
    System.out.println("Error in location :"+e.getMessage()); 
} 

для объяснения этому «Mess» смотрите: blackberry location-based services

+0

Нет объяснений, чтобы пойти с этим беспорядком? –

Смежные вопросы