---
title: "(ES) cameraToPosition()"
canonical: "https://onesaitplatform-es.refined.site/space/DOC/2216692463/(ES)%20cameraToPosition()"
format: markdown
---
> ℹ️ **Información**
> ℹ️ 
> ℹ️ Versión de implementación: beta 1.00
> ℹ️ 
> ℹ️ Actualizado en: beta 1.09

# Descripción

Desplaza la cámara del visor del mapa a unas coordenadas (geográficas o cartesianas) concretas del mapa, a una altitud determinada, y con la posibilidad de definir una orientación, inclinación y giro.

# Invocación

```javascript
cameraToPosition(
	zoomType,
	coordinates,
	height*,
	heading*,
	pitch*,
	roll*
)
```

* Parámetros opcionales

# Parámetros de entrada

## zoomType

El tipo de zoom que llevará a cabo la cámara del visor. El parámetro a introducir es de tipo texto, y acepta uno de estas dos opciones:

1. **fly**: implica un desplazamiento suave desde la posición actual de la cámara hasta la posición final.
2. **zoom**: desplazamiento instantáneo hasta la posición final de la cámara.

## coordinates

El valor con las coordenadas a las que hacer zoom. Dependiendo del tipo de coordenadas que se quieran introducir (geográficas o cartesianas), este parámetro será diferente. Se diferencia por tanto:

1. **Coordenadas geográficas**: el parámetro será una lista con dos valores numéricos; el primero comprendido entre -180 y 180, y el segundo entre -90 y 90: [-15.43, 28.12]
2. **Coordenadas cartesianas**: el parámetro será un objeto con tres elementos de tipo [Cartesian3](https://cesiumjs.org/Cesium/Build/Documentation/Cartesian3.html): {x: 0.0, y: 0.0, z: 0.0}

## height

Parámetro opcional; de no incluirse, usará el valor de 5000. Corresponde con el valor numérico de altura a la que se situará la cámara del visor. En el caso de utilizar coordenadas cartesianas, este valor de existir sobreescribirá el valor de altitud ya implícito.

## heading

Parámetro opcional; de no incluirse, se usará el valor de 0. Hace referencia a la orientación de la cámara respecto al norte, recibiendo un valor numérico entre 0 y 360.

## pitch

Parámetro opcional; de no incluirse, se usará el valor de -90. Define la inclinación de la cámara respecto al plano horizontal, aceptando un valor numérico comprendido entre -180 y 180.

## roll

Parámetro opcional; de no incluirse, se usará el valor de 0. Especifica el giro de la cámara respecto a su eje de visión (alabeo).

> ℹ️ **Más acerca de la orientación, inclinación y alabeo**
> ℹ️ 
> ℹ️ Si quieres conocer un poco mejor los conceptos de orientación, inclinación y alabeo de la cámara, en **[este post](https://groups.google.com/forum/#!topic/cesium-dev/2-Fn_8yeurY)** del grupo de Google de Cesium encontrarás una buena explicación.

# Ejemplos de uso

Definir la vista de inicio del visor sobre el parque de El Retiro de Madrid, llamando a la función tras terminar de declarar el visor:

```javascript
viewer = new Cesium.Viewer('cesiumContainer')

cameraToPosition(
	'zoom',
	[-3.683881,40.414404],
	1500
)
```


Desplazar la cámara suavemente desde la posición actual del mapa hasta la zona centro de Las Palmas de Gran Canaria, sin definir ninguna altura en concreto:

```javascript
cameraToPosition(
	'fly',
	[-15.4351,28.1195]
)
```

![image](media://dc2d3104-04b2-4d49-bbad-1f43029db17f)

Centrar la cámara directamente hasta las coordenadas de la primera entidad del primer dataSource del visor, situando la cámara a 500 metros de altura:

```javascript
cameraToPosition(
	'zoom',
	viewer.dataSources._dataSources[0].entities.values[0].position._value,
	1500
)
```

![image](media://310cfcb6-6e4b-4505-bded-aa42289890d2)

> ℹ️ Ejecutando en la consola la llamada a **viewer.dataSources._dataSources[0].entities.values[0].position._value** se obtiene un objeto de coordenadas cartesiano, que en este caso sería {x: 4899369.464544161, y: -547533.5655109598, z: 4033284.450355943}. De ahí que se pueda usar como parámetro esta llamada.