Criar formas e objetos personalizados

Criar formas e objetos personalizados na parte superior dos mapas é essencial para construir aplicativos BlackBerry integrados. Por exemplo, você pode criar um aplicativo que se integre com o BlackBerry Messenger e exiba uma foto de perfil do usuário de aparelho BlackBerry em um mapa quando o usuário estiver perto de um local. Você também pode criar um aplicativo e exibir um polígono que marque um perímetro de uma área de geofence que seu aplicativo monitora. Como qualquer outro objeto mapeável, você pode personalizar a aparência de suas formas e objetos personalizados com estilos.

O pacote net.rim.device.api.lbs.maps.model contém as seguintes classes que correspondem a formas e objetos básicos que você pode usar como base para criar seus próprios objetos.

Classe

Descrição

MapPoint

Esta classe representa as coordenadas para uma localização em um mapa. Os conjuntos de objetos MapPoint são necessários para a construção de linhas, polilinhas e polígonos.

MapMarker

Esta classe representa um ponto identificador no mapa, semelhante a um objeto MapPoint. Você pode usar uma imagem como um objeto MapMarker.

PeerPoint

Esta classe representa uma localização estática em um mapa, com exatidão. Por exemplo, você pode usar um objeto PeerPoint para marcar uma última localização do usuário de aparelho BlackBerry com a exatidão em metros.

MapLine

Esta classe representa um segmento de linha no mapa. Para criar um objeto MapLine, você deve especificar os objetos MapPoint para o início e o fim da linha.

MapPolyLine

Esta classe representa uma linha contínua que é composta de múltiplos segmentos de linha entre um conjunto solicitado de objetos MapPoint.

MapSimplePolygon

Esta classe representa um polígono simples que é definido por um conjunto solicitado de objetos MapPoint. O último objeto MapPoint na matriz une-se ao primeiro objeto para fechar o polígono. Polígonos simples são processados mais rapidamente que polígonos complexos.

MapComplexPolygon

Esta classe representa um polígono que é composto de um limite externo (definido como uma série solicitada de MapPoints) e um limite interno (zero ou mais MapSimplePolygons).

MapImage

Esta classe representa uma imagem de localização em um mapa. Você pode especificar uma imagem, uma miniatura ou um URI para a localização. Quando você especifica uma miniatura, ela é exibida diretamente no mapa. Quando o usuário clica na miniatura e solicita mais detalhes, uma imagem maior é exibida.

Para algumas classes mencionadas na tabela acima, um conjunto de formas correspondentes está disponível no pacote net.rim.device.api.lbs.maps.model.geospatial. A diferença entre as formas no pacote net.rim.device.api.lbs.maps.model.geospatial (chamado com Gs<shape>) e as formas básicas (chamadas Map<shape>) é que as formas geoespaciais podem ser organizadas em uma estrutura de árvore usando as classes GsFolder e GsRoot. Também é possível atribuir nomes e descrições aos objetos geoespaciais.

Criar um objeto MapSimplePolygon

MapPoint[] points = new MapPoint[6];
points[0] = new MapPoint(45.05, -75.0);
points[1] = new MapPoint(45.0, -74.95);
points[2] = new MapPoint(44.95, -74.975);
points[3] = new MapPoint(44.95, -75.025);
points[4] = new MapPoint(45.0, -75.05);
points[5] = new MapPoint(45.05, -75.0);
MapSimplePolygon poly = new MapSimplePolygon(points);

Criar um objeto GsImage

GsImage gsImg = new GsImage();
img.setIconUri("http://www.rim.com/products/appworld_3col.jpg");
img.setLat(44.5);
img.setLon(-75.0);
img.setName("App World!");
img.setDescription("BlackBerry App World icon");
Tópico anterior: Adicionar campos a um mapa

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