Abrir BlackBerry Maps utilizando un hito

Puede abrir BlackBerry Maps para mostrar la ubicación de un hito en un mapa especificando una matriz de objetos Landmark. Un objeto landmark puede contener un nombre de etiqueta descriptiva, una descripción, las coordenadas geoespaciales y la dirección de una calle.

Si no especifica las coordenadas, BlackBerry Maps puede utilizar la dirección para encontrarlas. En el caso de que ni las coordenadas ni la dirección sean válidas, BlackBerry Maps no muestra la ubicación del hito.

  1. Importe las clases necesarias.
    import net.rim.blackberry.api.invoke.*;
    import javax.microedition.location.*;
  2. Cree una clase y un constructor que se utilizarán para invocar BlackBerry Maps.
    public class invokeMaps
    {
        public invokeMaps ()
        {
        }
    }
  3. En el constructor, cree una matriz de objetos Landmark que pueda utilizar para agregar la información del hito.
    Landmark[] landMarks = new Landmark[3];
  4. En el constructor, cree una matriz AddressInfo e invoque AddressInfo.setField() para especificar la dirección de la calle. Añada la matriz AddressInfo a la matriz Landmark.
    AddressInfo addressInfo = new AddressInfo();
    addressInfo.setField(AddressInfo.STREET, "455 Phillip St");
    addressInfo.setField(AddressInfo.CITY, "Waterloo");
    addressInfo.setField(AddressInfo.STATE, "Ontario");
    landMarks[0] = new Landmark("AAA", "Description 1", null, addressInfo);
  5. En el constructor, cree una instancia de la clase QualifiedCoordinates y especifique las coordenadas. Añada QualifiedCoordinates a la matriz Landmark.
    QualifiedCoordinates coordinates =
      new QualifiedCoordinates(45.4, -75.1, 0, 0, 0);
    landMarks[1] = new Landmark("BBB", "Description 2", coordinates, null);
    coordinates = new QualifiedCoordinates(45.3,-75.3,0,0,0);
    landMarks[2] = new Landmark("CCC", "Description 3", coordinates, null);
  6. En el constructor, cree una instancia de la clase MapsArguments utilizando la matriz Landmarks como argumento. Invoque Invoke.invokeApplication() para abrir BlackBerry Maps. Pase el objeto MapsArguments.
    MapsArguments ma = new MapsArguments(landMarks);            
    Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, ma);

Ejemplo de código: Abrir BlackBerry Maps utilizando un hito

import net.rim.blackberry.api.invoke.*;
import javax.microedition.location.*;
public class invokeMaps
{
    public invokeMaps ()
    {
        Landmark[] landMarks = new Landmark[3];
        AddressInfo addressInfo = new AddressInfo();
        addressInfo.setField(AddressInfo.STREET, "455 Phillip St");
        addressInfo.setField(AddressInfo.CITY, "Waterloo");
        addressInfo.setField(AddressInfo.STATE, "Ontario");
        landMarks[0] = new Landmark("AAA", "Description 1", null, addressInfo);
        QualifiedCoordinates coordinates =
          new QualifiedCoordinates(45.4, -75.1, 0, 0, 0);
        landMarks[1] = new Landmark("BBB", "Description 2", coordinates, null);
        coordinates = new QualifiedCoordinates(45.3,-75.3,0,0,0);
        landMarks[2] = new Landmark("CCC", "Description 3", coordinates, null);
        MapsArguments ma = new MapsArguments(landMarks);
        Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, ma);
  }
}

¿Le ha resultado útil esta información? Envíenos sus comentarios.