Услуги BlackBerry на основе определения местоположения - PullRequest
0 голосов
/ 02 августа 2011

Может ли кто-нибудь сообщить мне, как работать с сервисами Blackberry на основе определения местоположения?Я работаю над проектом для мобильного приложения Blackberry.У меня никогда раньше не было ежевики, и у меня нет контракта ни с одним провайдером (просто имейте сим-карту от 3 и мобильное устройство 9000 OS 4.6).

В проекте я сейчас пытаюсь использовать следующий кодПорядок получения координат текущего местоположения (начальная точка) и конечного местоположения (конечная точка).На симуляторе работает нормально, а на устройстве - ничего.Должен ли я иметь контракт с поставщиком или что-то?и для этого нужен только GPS или интернет, или оба для работы?

Код:

String destination = "London";

final Landmark[] landmarks = Locator.geocode(destination.replace('\n', ' '), null);
Coordinates endPoint = landmarks[0].getQualifiedCoordinates();
// Get a location provider.
LocationProvider provider = LocationProvider.getInstance(null);
if (provider == null)
{
    throw new IllegalStateException("No LocationProvider Available!!");
}
// Try to fetch the current location and get the coordinates of the current location.
Coordinates startPoint = provider.getLocation(-1).getQualifiedCoordinates();

double destiinationlatitude = endPoint.getLatitude();
double currentlatitude = startPoint.getLatitude();

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 02 сентября 2011

Чтобы получить местоположение GPS в любой версии, предшествующей 5.0, вам необходимо создать экземпляр этой вещи

  1. Критерии
  2. Местоположение провайдера
  3. Местоположение объекта (сделано с помощьюпоставщик местоположения)

Вот что вы создаете:

Criteria criteria = null;
LocationProvider provider = null;
javax.microedition.location.Location location = null;

После этого вы должны присвоить значения Критериям, получить экземпляр LocationProvider с использованием критериев и получить Местоположениеиспользуя LocationProvider.

criteria = new Criteria();
criteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_HIGH);
criteria.setHorizontalAccuracy(50);
criteria.setVerticalAccuracy(50);
criteria.setCostAllowed(true);
provider = LocationProvider.getInstance(criteria);
location = provider.getLocation(5);

Обратите внимание, что Критерии будут определять, используете ли вы GPS, Wifi-помощь или местоположение на Cellsite, более подробную информацию о настройке критериев здесь:, чтобы получить координаты, вы вызываете метод: location.getQualifiedCoordinates ()

И это все ... вы должны вызывать это из отдельного потока.А также фактический код управления местоположением должен быть в блоке try-catch, но IDE поможет вам в этом.

0 голосов
/ 05 октября 2012

в этом коде мы видим, какие режимы доступны для получения координат (т. Е. Если у телефона нет GPS, то он должен использовать информацию о спутнике.)

Lat и Long извлекаютсядоступный режим.

Создается представление карты (MapView, которая является картой, Вы устанавливаете необходимые характеристики, такие как масштабирование, широта, долгота и т. д.), затем вы вызываете карту и устанавливаете масштабирование, широта, долгота,и т. д. будут применены к карте, которая отражается на экране.

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());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...