Compartir a través de


Incorporación de controles a un mapa

Este artículo muestra cómo agregar controles a un mapa, incluyendo cómo crear un mapa con todos los controles y un selector de estilos.

Agregar un control de zoom

Un control de zoom agrega botones para acercar y alejar el mapa. En el siguiente ejemplo de código, se crea una instancia de la clase ZoomControl y se agrega a la esquina inferior derecha del mapa.

//Construct a zoom control and add it to the map.
map.controls.add(new atlas.control.ZoomControl(), {
    position: 'bottom-right'
});

Agregar un control de inclinación

Un control de inclinación agrega botones para inclinar el mapa con respecto al horizonte. En el siguiente ejemplo de código, se crea una instancia de la clase PitchControl. Después, esta instancia se agrega en la esquina superior derecha del mapa.

//Construct a pitch control and add it to the map.
map.controls.add(new atlas.control.PitchControl(), {
    position: 'top-right'
});

Agregar un control de brújula

Un control de brújula agrega un botón para girar el mapa. El siguiente ejemplo de código crea una instancia de la clase CompassControl y la agrega a la esquina inferior izquierda del mapa.

//Construct a compass control and add it to the map.
map.controls.add(new atlas.control.CompassControl(), {
    position: 'bottom-left'
});

Agregar control de escala

Un control de escala agrega una barra de escala al mapa. En el ejemplo de código siguiente se crea una instancia de la claseScaleControl y se agrega a la esquina inferior izquierda del mapa.

//Construct a scale control and add it to the map.
map.controls.add(new atlas.control.ScaleControl(), {
    position: 'bottom-left'
});

Agregar control de pantalla completa

Un control de pantalla completa agrega un botón para alternar el mapa o el elemento HTML especificado entre la pantalla completa y la vista normal. En el ejemplo de código siguiente se crea una instancia de la clase FullscreenControl y se agrega a la esquina superior derecha del mapa.

//Construct a fullscreen control and add it to the map.
map.controls.add(new atlas.control.FullscreenControl(), {
    position: 'top-right'
});

Mapa con todos los controles

Se pueden colocar varios controles en una matriz, agregarlos al mapa a la vez y colocarlos en la misma área del mapa para simplificar el desarrollo. El siguiente fragmento de código agrega los controles de navegación estándar al mapa usando este método.

map.controls.add(
  [
    new atlas.control.ZoomControl(),
    new atlas.control.PitchControl(),
    new atlas.control.CompassControl(),
    new atlas.control.StyleControl(),
    new atlas.control.FullscreenControl(),
    new atlas.control.ScaleControl(),
  ],
  {
    position: 'top-right',
  }
);

En la imagen siguiente se muestra un mapa con los controles de zoom, inclinación, brújula, estilo, pantalla completa y escala en la esquina superior derecha del mapa. Observe cómo se apilan automáticamente. El orden de los objetos de control del script determina el orden en que aparecen en el mapa. Para cambiar el orden de los controles en el mapa, puede cambiar su orden en la matriz.

Recorte de pantalla que muestra un mapa que muestra el zoom, el tono, la brújula, el estilo, la pantalla completa y los controles de escala.

El control selector de estilo se define mediante la clase StyleControl. Para más información sobre el uso del control selector de estilo, consulte el artículo en el que se explica cómo elegir un estilo de mapa.

Personalización de controles

El ejemplo de Opciones de control de navegación es una herramienta para probar las distintas opciones de personalización de los controles. Para obtener el código fuente de este ejemplo, consulte el código fuente de Opciones de control de la navegación.

Recorte de pantalla que muestra el ejemplo Opciones de control de navegación de mapa, que contiene un mapa que muestra zoom, brújula, tono, estilo y opciones de escalado en el lado izquierdo de la pantalla que le permiten cambiar la posición de control, estilo de control, zoom delta, inclinación delta, delta de rotación de brújula, estilos de selector de estilo, ancho máximo de escala y propiedades de unidad de escalado.

La muestra Opciones de control de pantalla completaproporciona una herramienta para probar las opciones para personalizar el control de pantalla completa. Para obtener el código fuente de este ejemplo, consulte Código fuente opciones de control de pantalla completa.

Recorte de pantalla que muestra el ejemplo Opciones de control de pantalla completa, que contiene un mapa que muestra un control y opciones de pantalla completa en el lado izquierdo de la pantalla que le permiten cambiar las propiedades Estilo de control y Control de pantalla completa.

Si desea crear controles de navegación personalizados, cree una clase que extienda desde la clase atlas.Control, o bien cree un elemento HTML y colóquelo encima de la división del mapa. Haga que este control de la interfaz de usuario llame a la función setCamera de Maps para mover el mapa.

Pasos siguientes

Más información sobre las clases y los métodos utilizados en este artículo:

Consulte los siguientes artículos para el código completo: