BLACKBERRY JAVA DEVELOPMENT ENVIRONMENT GPS AND BLACKBERRY MAPS - VERSION: 4.7.0 GUIDE DE DÉVELOPPEMENT

 
BLACKBERRY JAVA DEVELOPMENT ENVIRONMENT GPS AND BLACKBERRY MAPS - VERSION: 4.7.0 GUIDE DE DÉVELOPPEMENT
BlackBerry Java Development Environment
GPS and BlackBerry Maps
Version: 4.7.0

Guide de développement
BLACKBERRY JAVA DEVELOPMENT ENVIRONMENT GPS AND BLACKBERRY MAPS - VERSION: 4.7.0 GUIDE DE DÉVELOPPEMENT
Publié : 2009-09-01
SWD-596846-0901081842-002
BLACKBERRY JAVA DEVELOPMENT ENVIRONMENT GPS AND BLACKBERRY MAPS - VERSION: 4.7.0 GUIDE DE DÉVELOPPEMENT
Table des matières
1    Informations sur la position GPS..............................................................................................................................................                             3
     Indication de la source des informations sur la position GPS...................................................................................................                                            3
          Récupérer les informations d'emplacement auprès des tours de site cellulaire............................................................                                                              4
          Récupérer les informations d'emplacement auprès des satellites GPS à l'aide d'une PDE..........................................                                                                       4
          Récupérer les informations d'emplacement auprès des satellites GPS et du récepteur GPS d'un terminal BlackBerry
          ..................................................................................................................................................................................................    5
          Récupérer les informations d'emplacement auprès du récepteur GPS d'un terminal BlackBerry...............................                                                                              5
     Récupération des informations sur la position GPS...................................................................................................................                                       6
          Indiquer un temps de réponse pour la récupération de l'emplacement du terminal BlackBerry.................................                                                                            6
          Récupérer les informations d'emplacement d'un terminal BlackBerry............................................................................                                                          7
          Récupérer la vitesse du terminal BlackBerry, en mètres par seconde.............................................................................                                                        7
          Récupérer la direction du terminal BlackBerry, en degrés................................................................................................                                              8
          Récupérer le nombre de satellites GPS suivis par un terminal BlackBerry.....................................................................                                                          8
          Récupérer l'heure à laquelle l'application d'un terminal BlackBerry a récupéré les informations GPS......................                                                                             9
          Maintenir une connexion avec les satellites GPS...............................................................................................................                                        9
          Obtenir des lectures GPS continues avec le mode de site cellulaire...............................................................................                                                    10
          Récupérer les informations GPS pendant un appel...........................................................................................................                                           10
          Récupérer les mises à jour des informations d'emplacement...........................................................................................                                                  11
          Modifier les critères d'obtention des informations d'emplacement.................................................................................                                                     11
          Indication d'un récepteur GPS comme source des informations d'emplacement..........................................................                                                                  12

2 Informations d'emplacement BlackBerry Maps......................................................................................................................                                             14
  Ouverture de BlackBerry Maps.....................................................................................................................................................                            14
  Ouverture de BlackBerry Maps à partir d'une application.........................................................................................................                                             15
  Affichage des informations d'emplacement sur un terminal BlackBerry.................................................................................                                                         15
       Affichage des informations d'emplacement dans BlackBerry Maps................................................................................                                                           15
       Ouvrir BlackBerry Maps pour afficher la carte par défaut................................................................................................                                                18
       Ouvrir BlackBerry Maps pour afficher un emplacement sur une carte...........................................................................                                                            18
       Ouvrir BlackBerry Maps pour afficher plusieurs emplacements sur une carte...............................................................                                                                19
       Ouvrir BlackBerry Maps pour afficher un itinéraire entre des emplacements sur une carte........................................                                                                         20
       Ouvrir BlackBerry Maps pour afficher une carte personnalisée.......................................................................................                                                     21
       Ouvrir BlackBerry Maps pour afficher l'emplacement d'une adresse de la liste des contacts.....................................                                                                          22
       Démarrer une application de terminal BlackBerry à partir de BlackBerry Maps............................................................                                                                 24
  Affichage des informations d'emplacement dans un champ UI...............................................................................................                                                     25
Travailler avec une carte affichée dans un champ UI........................................................................................................                                26
          Conversion des coordonnées de latitude et de longitude en valeurs de pixels..............................................................                                                  27
          Configurer la taille de la carte affichée dans un champ UI..............................................................................................                                   28
      Demande des informations d'emplacement d'une adresse.......................................................................................................                                    28
          Récupérer les informations d'emplacement d'une adresse stockée dans les champs d'adresse.................................                                                                  28
          Récupérer les informations d'emplacement d'une adresse stockée dans une chaîne String.......................................                                                               29
          Annuler une demande d'informations d'emplacement pour une adresse......................................................................                                                    29
      Ouvrir BlackBerry Maps à partir d'un navigateur.......................................................................................................................                         30
      Suppression des données de la carte...........................................................................................................................................                 30
          Effacer des données d'une carte...........................................................................................................................................                  31

3 Ressources....................................................................................................................................................................................     33

4 Glossaire.......................................................................................................................................................................................   34

5 Envoyer des commentaires........................................................................................................................................................                   35

6 Informations juridiques..............................................................................................................................................................              36
Guide de développement                                                                                      Informations sur la position GPS

Informations sur la position GPS                                                                                                    1
Vous pouvez créer une application de terminal BlackBerry® qui affiche la position actuelle d'un terminal BlackBerry, en latitude
et en longitude. En fonction du mode que vous utilisez pour obtenir les informations d'emplacement, l'application du terminal
BlackBerry peut afficher d'autres informations, telles que la vitesse et l'itinéraire. Pour créer une application de terminal BlackBerry
pour obtenir les informations d'emplacement, vous pouvez utiliser l'API Location pour Java® ME, dans le paquet
javax.microedition.location (JSR 179).

Le temps de récupération de l'emplacement du terminal BlackBerry la première fois dépend de plusieurs facteurs, tels que le
mode utilisé pour obtenir les informations d'emplacement et la puissance du signal GPS. En mode autonome, le temps de
récupération moyen est de moins de 2 minutes. En mode assisté, le temps de récupération moyen est de moins de 30 secondes.
Pour récupérer et afficher les informations sur la position GPS, le terminal BlackBerry doit prendre en charge la technologie GPS
et vous devez insérer une carte SIM valide dans le terminal BlackBerry.
Information associée
Indication de la source des informations sur la position GPS, 3
Informations d'emplacement BlackBerry Maps, 14

Indication de la source des informations sur la position GPS
Les informations sur la position GPS peuvent être indisponibles si le terminal BlackBerry® ne reçoit pas le signal des satellites
GPS. Cela peut être le cas lorsque le signal est bloqué par des bâtiments ou des nuages denses, par exemple.
Pour indiquer la source des informations sur la position GPS, indiquez le mode en créant une instance de la classe
javax.microedition.location.Criteria, appelez les méthodes set appropriées et transmettez l'instance à
LocationProvider.getInstance().

•      site cellulaire : utilisez ce mode pour obtenir les informations d'emplacement auprès des tours de site cellulaire. Ce mode
       permet à une application de terminal BlackBerry de récupérer les informations d'emplacement plus rapidement qu'en mode
       assisté ou autonome. Cependant, les informations d'emplacement ne sont pas très précises et ne fournissent pas les
       informations de suivi telles que la vitesse ou l'itinéraire. Pour utiliser ce mode, vous devez vous trouver dans la zone de
       couverture du réseau mobile, et le terminal BlackBerry et le fournisseur de services mobiles doivent prendre en charge ce
       mode.
•      assisté : utilisez ce mode pour obtenir les informations d'emplacement auprès des satellites à l'aide d'une PDE. Ce mode
       permet à une application de terminal BlackBerry de récupérer les informations d'emplacement plus rapidement qu'en mode
       autonome et plus précisément qu'en mode de site cellulaire. Pour utiliser ce mode, vous devez vous trouver dans la zone de
       couverture du réseau mobile, et le terminal BlackBerry et le fournisseur de services mobiles doivent prendre en charge ce
       mode. Le mode assisté peut entraîner des frais supplémentaires pour l'utilisateur du terminal BlackBerry.
•      autonome : utilisez ce mode pour obtenir les informations d'emplacement auprès du récepteur GPS du terminal BlackBerry,
       sans utiliser le réseau mobile. Ce mode permet à une application de terminal BlackBerry de récupérer des informations
       d'emplacement extrêmement précises, sans utiliser le réseau mobile. Cependant, ce mode récupère les informations
       d'emplacement moins rapidement que les autres modes.

                                                                                                                                          3
Guide de développement                                                                          Indication de la source des informations sur la position GPS

Information associée
Informations sur la position GPS, 3
Informations d'emplacement BlackBerry Maps, 14
Récupération des informations sur la position GPS, 6

Récupérer les informations d'emplacement auprès des tours de site cellulaire
1.     Importez les classes suivantes :
       • javax.microedition.location.LocationProvider
       • javax.microedition.location.Criteria
2.     Créez une instance d'un objet Criteria.
        Criteria criteria = new Criteria();
3.     Appelez criteria.setHorizontalAccuracy(NO_REQUIREMENT) pour indiquer que la longitude exacte n'est
       pas nécessaire.
4.     Appelez criteria.setVerticalAccuracy(NO_REQUIREMENT) pour indiquer que la latitude exacte n'est pas
       nécessaire.
5.     Appelez criteria.setCostAllowed(true) pour indiquer que ce mode peut entraîner des frais supplémentaires
       pour l'utilisateur du terminal BlackBerry®.
6.     Appelez setPreferredPowerConsumption(POWER_USAGE_LOW) pour indiquer que la consommation d'énergie
       est faible.
7.     Appelez LocationProvider.getInstance() et stockez l'objet renvoyé dans un objet LocationProvider.
        LocationProvider provider = LocationProvider.getInstance(criteria);

Information associée
Récupérer les informations d'emplacement auprès des satellites GPS à l'aide d'une PDE, 4
Récupérer les informations d'emplacement auprès des satellites GPS et du récepteur GPS d'un terminal BlackBerry, 5

Récupérer les informations d'emplacement auprès des satellites GPS à l'aide d'une PDE
1.     Importez les classes suivantes :
       • javax.microedition.location.LocationProvider
       • javax.microedition.location.Criteria
2.     Créez une instance d'un objet Criteria.
        Criteria criteria = new Criteria();
3.     Appelez criteria.setHorizontalAccuracy(NO_REQUIREMENT) pour indiquer que la longitude exacte n'est
       pas nécessaire.
4.     Appelez criteria.setVerticalAccuracy(NO_REQUIREMENT) pour indiquer que la latitude exacte n'est pas
       nécessaire.

4
Guide de développement                                                                          Indication de la source des informations sur la position GPS

5.    Appelez criteria.setCostAllowed(true) pour indiquer que ce mode peut entraîner des frais supplémentaires
      pour l'utilisateur du terminal BlackBerry®.
6.    Appelez criteria.setPreferredPowerConsumption(int level) en utilisant POWER_USAGE_MEDIUM ou
      NO_REQUIREMENT comme paramètre pour indiquer que la consommation d'énergie est moyenne ou non nécessaire.
7.    Appelez LocationProvider.getInstance() et stockez l'objet renvoyé dans un objet LocationProvider.
        LocationProvider provider = LocationProvider.getInstance(criteria);

Information associée
Récupérer les informations d'emplacement auprès des tours de site cellulaire, 4
Récupérer les informations d'emplacement auprès des satellites GPS et du récepteur GPS d'un terminal BlackBerry, 5

Récupérer les informations d'emplacement auprès des satellites GPS et du récepteur GPS
d'un terminal BlackBerry
1.    Importez les classes suivantes :
      • javax.microedition.location.LocationProvider
      • javax.microedition.location.Criteria
2.    Créez une instance d'un objet Criteria.
        Criteria criteria = new Criteria();
3.    Appelez criteria.setCostAllowed(false) pour indiquer que ce mode n'entraîne aucun frais supplémentaire.
4.    Appelez LocationProvider.getInstance() et stockez l'objet renvoyé dans un objet LocationProvider.
        LocationProvider provider = LocationProvider.getInstance(criteria);

Information associée
Récupérer les informations d'emplacement auprès des tours de site cellulaire, 4
Récupérer les informations d'emplacement auprès des satellites GPS à l'aide d'une PDE, 4
Récupérer les informations d'emplacement auprès du récepteur GPS d'un terminal BlackBerry, 5

Récupérer les informations d'emplacement auprès du récepteur GPS d'un terminal
BlackBerry
1.    Importez les classes suivantes :
      • javax.microedition.location.LocationProvider
      • javax.microedition.location.Criteria
2.    Créez une instance d'un objet Criteria.
        Criteria criteria = new Criteria();
3.    Effectuez l'une des tâches suivantes pour obtenir les informations d'emplacement à partir du récepteur GPS d'un terminal
      BlackBerry :

                                                                                                                                                          5
Guide de développement                                                                                   Récupération des informations sur la position GPS

        Tâche                                Étapes
         Indiquer un niveau de                a.     Appelez criteria.setHorizontalAccuracy(int accuracy) avec un
         précision n'entraînant                      nombre entier représentant la précision, en mètres.
         aucun frais
                                              b.     Appelez criteria.setVerticalAccuracy(int accuracy) avec un
         supplémentaire ni aucune
                                                     nombre entier représentant la précision, en mètres.
         consommation d'énergie.
                                              c.     Appelez criteria.setCostAllowed(false).
         Indiquer un niveau de                a.     Appelez criteria.setHorizontalAccuracy(int accuracy) avec un
         précision entraînant des                    nombre entier représentant la précision, en mètres.
         frais supplémentaires et
                                              b.     Appelez criteria.setVerticalAccuracy(int accuracy) avec un
         une consommation
                                                     nombre entier représentant la précision, en mètres.
         d'énergie variable.
                                              c.     Appelez criteria.setCostAllowed(true).
                                              d.     Appelez criteria.setPreferredPowerConsumption(int level) en
                                                     utilisant POWER_USAGE_LOW, POWER_USAGE_MEDIUM ou NO_REQUIREMENT
                                                     comme paramètre.
         Indiquer un niveau de                a.     Appelez criteria.setHorizontalAccuracy(NO_REQUIREMENT).
         précision entraînant une
                                              b.     Appelez criteria.setVerticalAccuracy(NO_REQUIREMENT).
         consommation d'énergie
                                              c.     Appelez criteria.setCostAllowed(false).
         variable, mais aucun frais
         supplémentaire.                      d.     Appelez criteria.setPreferredPowerConsumption(int level) en
                                                     utilisant POWER_USAGE_MEDIUM, POWER_USAGE_HIGH ou NO_REQUIREMENT
                                                     comme paramètre.
4.     Appelez LocationProvider.getInstance() et stockez l'objet renvoyé dans un objet LocationProvider.
        LocationProvider provider = LocationProvider.getInstance(criteria);

Information associée
Récupérer les informations d'emplacement auprès des satellites GPS et du récepteur GPS d'un terminal BlackBerry, 5

Récupération des informations sur la position GPS
Information associée
Indication de la source des informations sur la position GPS, 3

Indiquer un temps de réponse pour la récupération de l'emplacement du terminal BlackBerry
1.     Importez la classe javax.microedition.location.Criteria.

6
Guide de développement                                                                                   Récupération des informations sur la position GPS

2.     Créez une instance d'un objet Criteria.
        Criteria criteria = new Criteria();
3.     Appelez Criteria.setPreferredResponseTime() et indiquez le temps de réponse, en millisecondes.
        criteria.setPreferredResponseTime(500);

Information associée
Récupérer l'heure à laquelle l'application d'un terminal BlackBerry a récupéré les informations GPS, 9
Obtenir des lectures GPS continues avec le mode de site cellulaire, 10

Récupérer les informations d'emplacement d'un terminal BlackBerry
1.     Importez les classes suivantes :
       • javax.microedition.location.LocationProvider
       • javax.microedition.location.Location
2.     Créez une instance de LocationProvider.
        LocationProvider provider = new LocationProvider();
3.     Dans un thread non concerné par les événements, appelez LocationProvider.getLocation(int) avec un délai,
       en secondes.
        try { Location location = provider.getLocation(-1); } catch (Exception e) { }

Information associée
Récupérer la vitesse du terminal BlackBerry, en mètres par seconde, 7
Récupérer la direction du terminal BlackBerry, en degrés, 8

Récupérer la vitesse du terminal BlackBerry, en mètres par seconde
1.     Importez les classes suivantes :
       • javax.microedition.location.LocationProvider
       • javax.microedition.location.Location
2.     Créez une instance de LocationProvider.
        LocationProvider provider = new LocationProvider();
3.     Appelez LocationProvider.getLocation() et attribuez la valeur que la méthode renvoie à une variable
       Location.
        Location mylocation = provider.getLocation(-1);
4.     Appelez Location.getSpeed() et enregistrez la valeur que la méthode renvoie dans une variable float.

        float speed = mylocation.getSpeed();

                                                                                                                                                        7
Guide de développement                                                                   Récupération des informations sur la position GPS

Information associée
Récupérer les informations d'emplacement d'un terminal BlackBerry, 7
Récupérer la direction du terminal BlackBerry, en degrés, 8

Récupérer la direction du terminal BlackBerry, en degrés
1.     Importez les classes suivantes :
       • javax.microedition.location.LocationProvider
       • javax.microedition.location.Location
2.     Créez une instance de LocationProvider.
        LocationProvider provider = new LocationProvider();
3.     Appelez LocationProvider.getLocation() et attribuez la valeur que la méthode renvoie à une variable
       Location.
        Location mylocation = provider.getLocation(-1);
4.     Appelez location.getCourse() et enregistrez la valeur que la méthode renvoie dans une variable float.

        float course = mylocation.getCourse();

Information associée
Récupérer les informations d'emplacement d'un terminal BlackBerry, 7
Récupérer la vitesse du terminal BlackBerry, en mètres par seconde, 7

Récupérer le nombre de satellites GPS suivis par un terminal BlackBerry
1.     Importez les classes suivantes :
       • javax.microedition.location.LocationProvider
       • javax.microedition.location.Location
2.     Créez une instance de LocationProvider.
        LocationProvider provider = new LocationProvider();
3.     Appelez LocationProvider.getLocation() et attribuez la valeur que la méthode renvoie à une variable
       Location.
        Location mylocation = provider.getLocation(-1);
4.     Appelez la méthode Location.getExtraInfo() en utilisant le type MIME NMEA comme paramètre. La méthode
       renvoie une chaîne String codée contenant le nombre de satellites GPS.
        String encodedStr = mylocation.getExtraInfo("application/X-jsr179-location-nmea");
5.     Pour récupérer les informations sur les satellites GPS, observez les informations dans la valeur de chaîne String renvoyée.
Information associée
Maintenir une connexion avec les satellites GPS, 9

8
Guide de développement                                                                         Récupération des informations sur la position GPS

Récupérer l'heure à laquelle l'application d'un terminal BlackBerry a récupéré les
informations GPS
1.    Importez les classes suivantes :
      • javax.microedition.location.LocationProvider
      • javax.microedition.location.Location
2.    Créez une instance de LocationProvider.
        LocationProvider provider = new LocationProvider();
3.    Appelez LocationProvider.getLocation() et attribuez la valeur que la méthode renvoie à une variable
      Location.
        Location mylocation = provider.getLocation(-1);
4.    Appelez Location.getTimeStamp() et attribuez la valeur que la méthode renvoie à une variable long. L'heure est
      récupérée auprès du récepteur GPS du terminal BlackBerry®.
        long timestamp = myLocation.getTimeStamp();

Information associée
Indiquer un temps de réponse pour la récupération de l'emplacement du terminal BlackBerry, 6
Obtenir des lectures GPS continues avec le mode de site cellulaire, 10

Maintenir une connexion avec les satellites GPS
Vous pouvez configurer une application de terminal BlackBerry® pour demander à l'API Location les informations sur la position
GPS dans un intervalle de moins de 10 secondes.
1. Importez les classes suivantes :
    • javax.microedition.location.Criteria
    • javax.microedition.location.LocationProvider
2.    Importez l'interface LocationListener.
3.    Implémentez l'interface LocationListener.
4.    Créez une instance de la classe Criteria.
        Criteria criteria = new Criteria();
5.    Appelez LocationProvider.getInstance() en utilisant l'objet Criteria comme paramètre et attribuez la valeur
      que la méthode renvoie à une variable LocationProvider.
        LocationProvider provider = LocationProvider.getInstance(criteria);
6.    Appelez LocationProvider.setLocationListener() pour configurer un LocationListener avec une
      valeur d'intervalle de moins de 10 secondes.

                                                                                                                                              9
Guide de développement                                                                                   Récupération des informations sur la position GPS

        provider.setLocationListener(loclistener, 9, -1, -1);

Information associée
Récupérer le nombre de satellites GPS suivis par un terminal BlackBerry, 8

Obtenir des lectures GPS continues avec le mode de site cellulaire
1.     Importez les classes suivantes :
       • javax.microedition.location.LocationProvider
       • javax.microedition.location.Location
2.     Créez une instance d'un objet LocationProvider.
        LocationProvider provider = new LocationProvider();
3.     Appelez la méthode LocationProvider.getLocation() dans le code qui simule la récupération des informations
       GPS à intervalles fixes. Attribuez la valeur que la méthode renvoie à une variable Location.
        Location loc = provider.getLocation(-1);

Information associée
Indiquer un temps de réponse pour la récupération de l'emplacement du terminal BlackBerry, 6
Récupérer l'heure à laquelle l'application d'un terminal BlackBerry a récupéré les informations GPS, 9

Récupérer les informations GPS pendant un appel
Vous pouvez autoriser une application de terminal BlackBerry® à récupérer les informations GPS pendant que l'utilisateur du
terminal BlackBerry téléphone.

1.     Importez les classes suivantes :
       • javax.microedition.location.LocationProvider
       • javax.microedition.location.Criteria
2.     Créez une instance de la classe Criteria.
        Criteria criteria = new Criteria();
3.     Configurez l'objet Criteria pour récupérer les informations GPS sans passer par un réseau mobile.
4.     Appelez Criteria.setCostAllowed() en utilisant la valeur booléenne false comme paramètre pour empêcher
       un terminal BlackBerry d'engager des frais supplémentaires.
        criteria.setCostAllowed(false);
5.     Appelez la méthode LocationProvider.getInstance() en utilisant un objet Criteria comme paramètre
       configuré pour récupérer les informations GPS sans passer par un réseau mobile. Attribuez la valeur que la méthode renvoie
       à une variable LocationProvider.
        LocationProvider provider = LocationProvider.getInstance(criteria);

10
Guide de développement                                                             Récupération des informations sur la position GPS

Récupérer les mises à jour des informations d'emplacement
Vous pouvez associer uniquement un objet LocationListener à un fournisseur de services mobiles spécifique, qui fournit
des informations sur la position GPS. L'application du terminal BlackBerry® recherche généralement les mises à jour sur un
thread distinct.
1. Importez les classes suivantes :
     • javax.microedition.location.Criteria
     • javax.microedition.location.LocationProvider
2.     Importez l'interface LocationListener.
3.     Implémentez l'interface LocationListener.
4.     Créez une instance d'un objet Criteria.
5.     Appelez LocationProvider.getInstance() en utilisant l'objet Criteria comme paramètre et attribuez la valeur
       que la méthode renvoie à une variable LocationProvider.
        LocationProvider provider = LocationProvider.getInstance(criteria);
6.     Appelez LocationProvider.setLocationListener() en utilisant une instance de la classe qui implémente
       l'interface LocationListener comme paramètre pour enregistrer l'implémentation.
        provider.setLocationListener(loclistener, 9, -1, -1);

Information associée
Modifier les critères d'obtention des informations d'emplacement, 11

Modifier les critères d'obtention des informations d'emplacement
1.     Importez les classes suivantes :
       • javax.microedition.location.Criteria
       • javax.microedition.location.LocationProvider
2.     Importez l'interface LocationListener.
3.     Implémentez l'interface LocationListener.
4.     Créez une instance de la classe Criteria.
        Criteria criteria = new Criteria();
5.     Appelez les méthodes setHorizontalAccuracy(), setVerticalAccuracy(), setCostAllowed() et
       setPreferredPowerConsumption() du nouvel objet Criteria pour indiquer les nouveaux critères.
6.     Appelez LocationProvider.reset() à l'aide de l'objet LocationProvider avec les critères que vous souhaitez
       modifiez.
        provider.reset();

                                                                                                                                  11
Guide de développement                                                                      Récupération des informations sur la position GPS

7.      Configurez LocationListener sur « null » pour désenregistrer tous les LocationListeners associés à l'objet
        LocationProvider.
         provider.setLocationListener(null, -1, -1, -1);
8.      Appelez LocationProvider.getInstance() en utilisant le nouvel objet Criteria comme paramètre pour créer
        une nouvelle instance d'un objet LocationProvider. Attribuez la valeur que la méthode renvoie au
        LocationProvider avec les critères que vous souhaitez modifier.
         provider = LocationProvider.getInstance(criteria);
9.      Appelez LocationProvider.setLocationListener() pour associer un nouveau LocationListener à l'objet
        LocationProvider.
         provider.setLocationListener(locListener, -1, -1, -1);

Information associée
Récupérer les mises à jour des informations d'emplacement, 11

Indication d'un récepteur GPS comme source des informations d'emplacement
Sur un terminal BlackBerry® exécutant BlackBerry® Device Software version 4.2 ou ultérieure, vous pouvez configurer un
récepteur GPS qui utilise la technologie Bluetooth® comme source de données pour les informations d'emplacement. Vous pouvez
également configurer la fréquence utilisée par un terminal BlackBerry pour demander les informations d'emplacement à un
récepteur GPS compatible Bluetooth.

 Critères                                                       Source des informations d'emplacement pour l'API Location
     Un terminal BlackBerry exécutant BlackBerry Device         l'un des récepteurs GPS compatibles Bluetooth
     Software version 4.2 ou ultérieure, ne disposant pas
     d'un récepteur GPS interne et couplé avec un ou
     plusieurs récepteurs GPS compatibles Bluetooth.
     Un terminal BlackBerry exécutant BlackBerry Device         le récepteur GPS interne ou l'un des récepteurs GPS compatibles
     Software version 4.2 ou ultérieure, disposant d'un         Bluetooth
     récepteur GPS interne et couplé avec un ou plusieurs
     récepteurs GPS compatibles Bluetooth.
     Un terminal BlackBerry exécutant BlackBerry Device         le récepteur GPS interne ou le récepteur GPS compatible Bluetooth
     Software version 4.2 ou ultérieure, disposant d'un
     récepteur GPS interne et couplé avec un seul
     récepteur GPS compatible Bluetooth.

12
Guide de développement                                                          Récupération des informations sur la position GPS

 Critères                                            Source des informations d'emplacement pour l'API Location
  Un terminal BlackBerry exécutant BlackBerry Device le récepteur GPS interne
  Software version 4.2 ou ultérieure, disposant d'un
  récepteur GPS interne et couplé avec aucun
  récepteur GPS compatible Bluetooth.

                                                                                                                              13
Guide de développement                                                                               Informations d'emplacement BlackBerry Maps

Informations d'emplacement BlackBerry Maps                                                                                              2
Vous pouvez créer une application de terminal BlackBerry® qui interagit avec BlackBerry® Maps. BlackBerry Maps est une
application de cartographie et de localisation qui peut afficher une carte, l'emplacement d'un terminal BlackBerry, un itinéraire
partant d'un emplacement de départ et arrivant à un emplacement d'arrivée spécifique, ainsi que des centres d'intérêt sur une
carte. BlackBerry Maps utilise les valeurs entières de latitude et de longitude correspondant à 100 000 fois le double des valeurs
indiquées par JSR 179, qui utilise les spécifications WGS 84 pour les valeurs de longitude et de latitude.
Pour créer une application de terminal BlackBerry qui utilise BlackBerry Maps, vous pouvez utiliser la classe MapArguments
dans le paquet net.rim.blackberry.api.invoke.
Une application de terminal BlackBerry peut interagir avec BlackBerry Maps comme suit :
•       démarrer BlackBerry Maps à partir d'une application de terminal BlackBerry
•       ajouter dans BlackBerry Maps une option de menu qui ouvre une application de terminal BlackBerry
BlackBerry Maps est inclus dans les terminaux BlackBerry exécutant BlackBerry® Device Software version 4.2 ou ultérieure.
Information associée
Informations sur la position GPS, 3
Indication de la source des informations sur la position GPS, 3

Ouverture de BlackBerry Maps
Vous pouvez afficher les informations de différentes façons dans BlackBerry® Maps.

    Approche                                           Description
     Démarrer BlackBerry Maps à partir                  Vous pouvez créer une application de terminal BlackBerry pour démarrer BlackBerry
     d'une application de terminal                      Maps et afficher les informations. Placez les informations d'emplacement dans une
     BlackBerry.                                        variable String, appelée document d'emplacement. Appelez
                                                        net.rim.blackberry.api.invoke.Invoke.invokeApplication()
                                                        en utilisant comme paramètres la constante
                                                        net.rim.blackberry.api.invoke.Invoke.APP_TYPE_MAPs et une
                                                        nouvelle instance d'un objet net.rim.blackberry.api.invoke.
                                                        MapsArguments. ARG_LOCATION_DOCUMENT créé à l'aide de la constante
                                                        net.rim.blackberry.api.invoke.MapsArguments.ARG_LOCATION_DOCUMEN
                                                        et de la variable String avec les informations d'emplacement. BlackBerry Maps
                                                        démarre et affiche les informations dans le document d'emplacement.

14
Guide de développement                                                                       Ouverture de BlackBerry Maps à partir d'une application

  Approche                                            Description
  Ouvrir BlackBerry Maps à partir de                  Vous pouvez autoriser un utilisateur de terminal BlackBerry à utiliser le navigateur
  BlackBerry Browser.                                 d'un terminal BlackBerry pour accéder aux informations d'emplacement sur un
                                                      serveur Web et afficher ces informations dans BlackBerry Maps. Créez un fichier
                                                      avec l'extension .xloc et placez les informations d'emplacement dans ce fichier. Les
                                                      informations d'emplacement sont identiques aux informations attribuées au
                                                      document d'emplacement au démarrage de BlackBerry Maps à partir d'une
                                                      application de terminal BlackBerry. Placez le fichier .xloc sur un serveur Web.
                                                      Lorsqu'un utilisateur de terminal BlackBerry accède au lien vers le fichier .xloc, par
                                                      exemple http://nomserveur/Nomfichier.xloc, le navigateur transmet
                                                      le fichier .xloc sous forme de chaîne String à l'analyseur du document
                                                      d'emplacement. BlackBerry Maps démarre et affiche les informations dans le
                                                      fichier .xloc.

Information associée
Ouverture de BlackBerry Maps à partir d'une application, 15
Ouvrir BlackBerry Maps à partir d'un navigateur, 30

Ouverture de BlackBerry Maps à partir d'une application
L'application du terminal BlackBerry® doit importer la classe net.rim.blackberry.api.invoke.Invoke et la classe
net.rim.blackberry.api.invoke.MapsArguments.
Information associée
Ouverture de BlackBerry Maps, 14
Ouvrir BlackBerry Maps à partir d'un navigateur, 30

Affichage des informations d'emplacement sur un terminal BlackBerry

Affichage des informations d'emplacement dans BlackBerry Maps
BlackBerry® Maps utilise un document d'emplacement pour afficher les informations d'emplacement, telles que les emplacements
et les itinéraires, sur une carte. Un document d'emplacement est une chaîne String contenant une série d'éléments XML avec
des attributs qui fournissent des informations sur l'emplacement ou l'itinéraire. Vous pouvez stocker dans un même document
d'emplacement des informations concernant dix emplacements.
Information associée
Créer un document d'emplacement pour afficher les informations d'emplacement, 18

                                                                                                                                                 15
Guide de développement                                                Affichage des informations d'emplacement sur un terminal BlackBerry

Élément XML : 
Les éléments  et  contiennent les informations d'un document d'emplacement. Les éléments  ouvrant et
fermant contiennent tous les autres éléments du document d'emplacement.

                                                                                                       Version de BlackBerry®
 Attribut                      Tapez      Description                                Requise           Java® Development
                                                                                                       Environment
     id                        Chaîne      id d'un document d'emplacement          non                  4.5.0 ou ultérieure
     clear                     Chaîne      action à effectuer sur les informations non                  4.5.0 ou ultérieure
                                           dans une carte

                                           NONE : n'efface aucune information
                                           DOCS : efface les informations sur
                                           l'emplacement ou l'itinéraire dans
                                           tous les documents d'emplacement
                                           avec un attribut id configuré sur une
                                           valeur

                                           LOCATIONS : efface les informations
                                           d'emplacement de la carte

                                           ALL : efface les informations sur
                                           l'emplacement et l'itinéraire de la
                                           carte

Information associée
Élément XML : , 16
Élément XML : , 17

Élément XML : 
Les éléments  et  contiennent les informations d'itinéraire. Pour afficher les informations
d'itinéraire sur une carte, vous devez placer deux éléments  entre les éléments  ouvrant et fermant.
Le premier élément  représente le point de départ d'un itinéraire. Le second élément  représente
le point d'arrivée d'un itinéraire. Vous pouvez utiliser uniquement les attributs x et y dans un élément  imbriqué
entre les éléments .
Information associée
Élément XML : , 16
Élément XML : , 17

16
Guide de développement                                                  Affichage des informations d'emplacement sur un terminal BlackBerry

Élément XML : 
L'élément  contient des informations sur un emplacement en particulier et comprend les attributs requis et
facultatifs suivants :

                                                                                                          Version de BlackBerry®
 Attribut              Tapez             Description                    Requise                           Java® Development
                                                                                                          Environment
  y                      integer         latitude en degrés              oui                               4.2.0 ou ultérieure
                                         décimaux x 100 000
  x                      integer         longitude en degrés             oui                               4.2.0 ou ultérieure
                                         décimaux x 100 000
  zoom                   integer         niveau de zoom de 0             oui                               4.2.0 ou ultérieure
                                         à MAX_ZOOM
  label                  Chaîne          libellé qui s'affiche à côté    oui                               4.2.0 ou ultérieure
                                         d'un emplacement sur
                                         une carte
  description            Chaîne          informations de                 oui                               4.2.0 ou ultérieure
                                         description d'un
                                         emplacement
  adresse                Chaîne          adresse                         non                               4.2.1 ou ultérieure
  ville                  Chaîne          ville                           non                               4.2.1 ou ultérieure
  region                 Chaîne          province ou état                non                               4.2.1 ou ultérieure
  pays                   Chaîne          pays                            non                               4.2.1 ou ultérieure
  postalCode             Chaîne          code postal                     non                               4.2.1 ou ultérieure
  phone                  Chaîne          numéro de téléphone             non                               4.2.1 ou ultérieure
  fax                    Chaîne          numéro de fax                   non                               4.2.1 ou ultérieure
  url                    Chaîne          URL                             non                               4.2.1 ou ultérieure
  email                  Chaîne          adresse e-mail                  non                               4.2.1 ou ultérieure
  categories             Chaîne          catégorie                       non                               4.2.1 ou ultérieure
  rating                 Chaîne          classement, de 0 à 5            non                               4.2.1 ou ultérieure

Information associée
Élément XML : , 16
Élément XML : , 16

                                                                                                                                        17
Guide de développement                                                  Affichage des informations d'emplacement sur un terminal BlackBerry

Créer un document d'emplacement pour afficher les informations d'emplacement
1.     Importez la classe net.rim.blackberry.api.invoke.Invoke.
2.     Créez une chaîne String avec des éléments requis et/ou des éléments facultatifs.
        String document = “    ....”;
3.     Appelez Invoke.invokeApplication() en utilisant la chaîne String comme paramètre.
        Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, new MapsArguments
        ( MapsArguments.ARG_LOCATION_DOCUMENT, document));

Information associée
Affichage des informations d'emplacement dans BlackBerry Maps, 15

Ouvrir BlackBerry Maps pour afficher la carte par défaut
1.     Importez les classes suivantes :
       • net.rim.blackberry.api.invoke.Invoke
       • net.rim.blackberry.api.invoke.MapsArguments
2.     Appelez invokeApplication() à l'aide d'un nouvel objet MapsArguments sans argument.
Information associée
Afficher un exemple d'application qui affiche la carte par défaut, 18

Afficher un exemple d'application qui affiche la carte par défaut
1.     Dans BlackBerry® Integrated Development Environment, lancez le projet BlackBerryMapsDemo.
2.     Dans BlackBerry Smartphone Simulator, cliquez sur Démo BlackBerry Maps.
3.     Ouvrez le menu et cliquez sur Appeler par défaut.
4.     Ouvrez le menu et cliquez sur Afficher la carte.
Information associée
Ouvrir BlackBerry Maps pour afficher la carte par défaut, 18

Ouvrir BlackBerry Maps pour afficher un emplacement sur une carte
1.     Importez les classes suivantes :
       • net.rim.blackberry.api.invoke.Invoke
       • net.rim.blackberry.api.invoke.MapsArguments

18
Guide de développement                                                           Affichage des informations d'emplacement sur un terminal BlackBerry

2.     Créez une chaîne String contenant les informations d'un emplacement.
        String document = "";
3.     Appelez invokeApplication() à l'aide du paramètre permanent APP_TYPE_MAPS, d'un nouvel objet
       MapsArguments qui utilise la propriété ARG_LOCATION_DOCUMENT et de la chaîne d'emplacement String.
        Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, new MapsArguments
        ( MapsArguments.ARG_LOCATION_DOCUMENT,document));

Information associée
Afficher un exemple d'application qui affiche un emplacement sur une carte, 19

Afficher un exemple d'application qui affiche un emplacement sur une carte
1.     Dans BlackBerry® Integrated Development Environment, lancez le projet BlackBerryMapsDemo.
2.     Dans BlackBerry Smartphone Simulator, cliquez sur Démo BlackBerry Maps.
3.     Ouvrez le menu et cliquez sur Appeler le document d'emplacement.
4.     Ouvrez le menu et cliquez sur Afficher un seul emplacement.
5.     Pour afficher plus de détails dans le menu de l'application, sélectionnez Détails.

Information associée
Ouvrir BlackBerry Maps pour afficher un emplacement sur une carte, 18

Ouvrir BlackBerry Maps pour afficher plusieurs emplacements sur une carte
1.     Importez les classes suivantes :
       • net.rim.blackberry.api.invoke.Invoke
       • net.rim.blackberry.api.invoke.MapsArguments
2.     Créez une chaîne String contenant les informations sur plusieurs emplacements.

                                                                                                                                                 19
Guide de développement                                                                   Affichage des informations d'emplacement sur un terminal BlackBerry

        String document = "" + "" + "" + "";
3.     Appelez invokeApplication() à l'aide du paramètre permanent APP_TYPE_MAPS, d'un nouvel objet
       MapsArguments qui utilise la propriété ARG_LOCATION_DOCUMENT et de la chaîne d'emplacement String.
        Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, new MapsArguments
        ( MapsArguments.ARG_LOCATION_DOCUMENT, document));

Information associée
Afficher un exemple d'application qui affiche plusieurs emplacements sur une carte, 20

Afficher un exemple d'application qui affiche plusieurs emplacements sur une carte
1.     Dans BlackBerry® Integrated Development Environment, lancez le projet BlackBerryMapsDemo.
2.     Dans BlackBerry Smartphone Simulator, cliquez sur Démo BlackBerry Maps.
3.     Ouvrez le menu et cliquez sur Appeler le document d'emplacement.
4.     Ouvrez le menu et cliquez sur Afficher plusieurs emplacements.

Information associée
Ouvrir BlackBerry Maps pour afficher plusieurs emplacements sur une carte, 19

Ouvrir BlackBerry Maps pour afficher un itinéraire entre des emplacements sur une carte
1.     Importez les classes suivantes :
       • net.rim.blackberry.api.invoke.Invoke
       • net.rim.blackberry.api.invoke.MapsArguments
2.     Créez une chaîne String avec les informations d'itinéraire dans les éléments .

20
Guide de développement                                                                   Affichage des informations d'emplacement sur un terminal BlackBerry

        String document = "" + "" + "" + "";
3.     Appelez invokeApplication() à l'aide du paramètre permanent APP_TYPE_MAPS, d'un nouvel objet
       MapsArguments qui utilise la propriété ARG_LOCATION_DOCUMENT et de la chaîne String.
        Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, new MapsArguments
        ( MapsArguments.ARG_LOCATION_DOCUMENT,document));

Information associée
Afficher un exemple d'application qui affiche un itinéraire entre des emplacements sur une carte, 21

Afficher un exemple d'application qui affiche un itinéraire entre des emplacements sur une carte
1.     Dans BlackBerry® Integrated Development Environment, lancez le projet BlackBerryMapsDemo.
2.     Dans BlackBerry Smartphone Simulator, cliquez sur Démo BlackBerry Maps.
3.     Ouvrez le menu et cliquez sur Appeler le document d'emplacement.
4.     Ouvrez le menu et cliquez sur Afficher l'itinéraire.
5.     Pour afficher les informations de suivi d'un emplacement à un autre, sélectionnez Itinéraires dans le menu de l'application.

Information associée
Ouvrir BlackBerry Maps pour afficher un itinéraire entre des emplacements sur une carte, 20

Ouvrir BlackBerry Maps pour afficher une carte personnalisée
Un objet MapView représente la vue affichée par BlackBerry® Maps. L'objet MapView contient les valeurs de latitude et de
longitude que BlackBerry Maps utilise pour le centre de la carte, et les valeurs de zoom et de rotation de la carte affichée par
BlackBerry Maps.

1.     Importez les classes suivantes :
       • net.rim.blackberry.api.invoke.Invoke

                                                                                                                                                         21
Guide de développement                                                      Affichage des informations d'emplacement sur un terminal BlackBerry

       • net.rim.blackberry.api.maps.MapView
2.     Créez une instance d'un objet MapView.
        MapView mapView = new MapView();
3.     Modifiez la latitude, la longitude et les valeurs de zoom de l'objet MapView.
        mapView.setLatitude(4331168); mapView.setLongitude(-8055339); mapView.setZoom(10);
4.     Appelez invokeApplication() à l'aide du paramètre permanent APP_TYPE_MAPS et d'un nouvel objet
       MapsArguments qui utilise l'objet MapView que vous avez créé.
        Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, new MapsArguments(mapView));

Information associée
Afficher un exemple d'application qui affiche une carte personnalisée, 22

Afficher un exemple d'application qui affiche une carte personnalisée
1.     Dans BlackBerry® Integrated Development Environment, lancez le projet BlackBerryMapsDemo.
2.     Dans BlackBerry Smartphone Simulator, cliquez sur Démo BlackBerry Maps.
3.     Ouvrez le menu et cliquez sur Appeler la vue Carte.
4.     Ouvrez le menu et cliquez sur Afficher la carte.
Information associée
Ouvrir BlackBerry Maps pour afficher une carte personnalisée, 21

Ouvrir BlackBerry Maps pour afficher l'emplacement d'une adresse de la liste des contacts
Vous pouvez créer une application BlackBerry® Application qui affiche une carte pour l'adresse d'un contact de la liste des
contacts. L'adresse du contact doit être une adresse valide.
1. Importez les classes suivantes :
     • javax.microedition.pim.PIM
     • net.rim.blackberry.api.invoke.Invoke
     • net.rim.blackberry.api.invoke.MapsArguments
     • javax.microedition.pim.PIMException
2.     Importez les interfaces suivantes :
       • javax.microedition.pim.Contact
       • javax.microedition.pim.ContactList
       • java.util.Enumeration
3.     Implémentez les interfaces suivantes :
       • javax.microedition.pim.Contact
       • javax.microedition.pim.ContactList
       • java.util.Enumeration

22
Guide de développement                                                                   Affichage des informations d'emplacement sur un terminal BlackBerry

4.     Créez un objet Contact.
        Contact c = null;
5.     Dans un bloc try, récupérez la liste des contacts.
        try { ContactList contactList = (ContactList)PIM.getInstance().openPIMList
        (PIM.CONTACT_LIST, PIM.READ_WRITE);
6.     Placez les éléments de la liste des contacts dans une liste.
        Enumeration enumContact = contactList.items(); int notFinished = 1;
7.     Créez une boucle While pour itérer tous les éléments dans la liste.
        while ((enumContact.hasMoreElements()) && ( notFinished == 1)) { c = (Contact)
        enumContact.nextElement(); int[] fieldIds = c.getFields(); int id;
8.     Recherchez dans la liste des contacts le premier contact contenant une ville et une région valides et affichez les informations
       d'adresse du contact dans BlackBerry® Maps.
        if (c.countValues(Contact.ADDR) > 0) { String address[] = c.getStringArray
        (Contact.ADDR,0); if ((address[Contact.ADDR_LOCALITY] != null) && (address
        [Contact.ADDR_REGION] != null)) { Invoke.invokeApplication(Invoke.APP_TYPE_MAPS,
        new MapsArguments(c,0)); notFinished = 0; } } } } catch (PIMException e) { }
9.     Si l'adresse d'un contact est introuvable, affichez la carte par défaut dans BlackBerry Maps.
        if c == null) { Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, new MapsArguments
        ()); } } };

Information associée
Afficher un exemple d'application qui affiche l'emplacement d'une adresse de la liste des contacts, 23

Afficher un exemple d'application qui affiche l'emplacement d'une adresse de la liste des contacts
S'il n'y a pas d'adresse dans la liste des contacts, l'exemple affiche la carte par défaut dans BlackBerry® Maps.

1.     Ouvrez BlackBerry® Integrated Development Environment.
2.     Lancez le projet BlackBerryMapsDemo.
3.     Dans BlackBerry Smartphone Simulator, cliquez sur Démo BlackBerry Maps.
4.     Ouvrez le menu et cliquez sur Appeler le contact.
5.     Ouvrez le menu et cliquez sur Afficher la carte.
Information associée
Ouvrir BlackBerry Maps pour afficher l'emplacement d'une adresse de la liste des contacts, 22

                                                                                                                                                         23
Guide de développement                                                Affichage des informations d'emplacement sur un terminal BlackBerry

Démarrer une application de terminal BlackBerry à partir de BlackBerry Maps
Vous pouvez ajouter dans BlackBerry® Maps une option de menu qui permet à l'utilisateur d'un terminal BlackBerry de démarrer
une application du terminal BlackBerry à partir des informations d'emplacement. L'utilisateur du terminal BlackBerry peut
également modifier les informations d'emplacement et les envoyer à l'application du terminal BlackBerry.
1. Ouvrez BlackBerry® Integrated Development Environment.
2. Créez un projet.
3. Cliquez avec le bouton droit de la souris sur le projet puis cliquez sur Propriétés.
4. Dans l'onglet Applications, tapez startup dans le champ Arguments transmis. Assurez-vous que la valeur saisie
     correspond à la valeur de l'argument startsWith dans la méthode principale (main) de l'application du terminal BlackBerry.
5. Sélectionnez Lancement automatique au démarrage.
6. Sélectionnez Module système.
7. Cliquez sur OK.
8. Importez les classes suivantes :
       import net.rim.device.api.ui.*; import net.rim.device.api.ui.component.*; import
       net.rim.device.api.ui.container.*; import net.rim.blackberry.api.invoke.*; import
       net.rim.device.api.system.*; import net.rim.blackberry.api.maps.*; import
       net.rim.blackberry.api.menuitem.*;
9.    Créez une classe qui développe la classe ApplicationMenuItem et implémente les méthodes run() et
      toString().
       private static class MapsMenuItem extends ApplicationMenuItem { MapsMenuItem()
       { super(20); } public String toString() { return "Démo de l'option de menu"; }
       public Object run(Object context) { if (context instanceof MapView ) { _mv =
       (MapView)context; UiApplication app = UiApplication.getUiApplication();
       app.pushScreen( new MapsMenuItemScreen(_mv) ); app.requestForeground(); } return
       null; } } }
10. Dans la méthode main(), enregistrez une option de menu avec BlackBerry Maps.
       public static void main(String[] args) { if (args != null && args.length > 0) { if
       (args[0].equals("startup")) { ApplicationMenuItemRepository amir =
       ApplicationMenuItem Repository.getInstance(); ApplicationDescriptor artup =
       ApplicationDescriptor .currentApplicationDescriptor(); ApplicationDescriptor
       ad_gui = new ApplicationDescriptor (ad_startup , "gui", new String[]{"gui"});
       amir.addMenuItem(ApplicationMenuItemRepository.      MENUITEM_MAPS , new
       MapsMenuItem() , ad_gui); } else if (args[0].equals("gui")) { MapsMenuItemDemo app
       = new MapsMenuItemDemo(); app.enterEventDispatcher(); } } }
11.   Créez un écran pour l'application.
       final class MapsMenuItemScreen extends MainScreen { private MapView _mapview;
       private BasicEditField _latitudeField; private BasicEditField _logitudeField;
       private NumericChoiceField _zoomField; MapsMenuItemScreen(MapView _mv) { _mapview
       = _mv; _latitudeField = new BasicEditField ("Latitude : " , _mv.getLatitude() /

24
Vous pouvez aussi lire
DIAPOSITIVES SUIVANTES ... Annuler