Adição de um mapa a um aplicativo

Você pode adicionar um mapa a um aplicativo usando a classe MapField e a classe RichMapField, que são fornecidas no pacote net.rim.device.api.lbs.maps.ui. Por exemplo, você pode criar um aplicativo que exiba um mapa que mostre a localização atual do usuário do aparelho BlackBerry e pontos de interesse na área adjacente.

A classe MapField estende a classe net.rim.device.api.ui.Field. Você pode usar MapField para adicionar a seguinte funcionalidade a seu aplicativo:

  • Processar um mapa em um campo de interface de usuário
  • Mover e ampliar o mapa usando o teclado, trackpad, trackball ou a tela sensível ao toque
  • Configurar estilos que definam as características visuais de objetos mapeáveis
  • Determinar quando objetos mapeáveis recebem foco ou quando pontos em um mapa são selecionados

A classe RichMapField estende a funcionalidade de MapField. Você pode usar RichMapField para adicionar os seguintes recursos a seu aplicativo:

  • Adicionar campos utilitários, tais como um destino central, um indicador de zoom e um campo de sugestão
  • Sobrepor campos em um mapa
  • Compartilhar foco com outros componentes de interface de usuário em uma tela para permitir aos usuários navegar pelos componentes de campo de mapa até outros componentes na tela

Cada instância MapField ou RichMapField usa um thread para processar um mapa. Por exemplo, se um aplicativo tiver duas instâncias MapField executando ao mesmo tempo, dois threads são usados. O thread encerra quando a instância MapField é processada para coleta de lixo. Assegure-se de que o aplicativo não exceda o limite de threads disponíveis. Para encerrar o thread para a instância MapField ou RichMapField, você deve chamar close(), que remove o campo como um ouvinte de classes específicas e inicia a coleta de lixo.

Exemplo de código: Adicionar um mapa usando a classe MapField

MapField map = new MapField();
add(map);

Exemplo de código: Adicionar um mapa usando a classe RichMapField

RichMapField map = MapFactory.getInstance().generateRichMapField();
add(map);

Estas informações foram úteis? Gostaríamos de receber seus comentários.