BLACKBERRY JAVA DEVELOPMENT ENVIRONMENT GPS AND BLACKBERRY MAPS - VERSION: 4.7.0 GUIDE DE DÉVELOPPEMENT
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
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