140 lines
5.6 KiB
Markdown
Raw Normal View History

2016-05-16 17:19:54 -06:00
<!---
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
# cordova-plugin-device-motion
Este plugin proporciona acceso a acelerómetro del dispositivo. El acelerómetro es un sensor de movimiento que detecta el cambio (*delta*) en movimiento con respecto a la orientación actual del dispositivo, en tres dimensiones sobre el eje *x*, *y*y *z* .
El acceso es por un global `navigator.accelerometer` objeto.
Aunque el objeto está unido al ámbito global `navigator` , no estará disponible hasta después de la `deviceready` evento.
document.addEventListener ("deviceready", onDeviceReady, false);
function onDeviceReady() {console.log(navigator.accelerometer)};
## Instalación
Cordova plugin añade cordova-plugin-device-movimiento
## Plataformas soportadas
* Amazon fire OS
* Android
* BlackBerry 10
* Explorador
* Firefox OS
* iOS
* Tizen
* Windows Phone 8
* Windows
## Métodos
* navigator.accelerometer.getCurrentAcceleration
* navigator.accelerometer.watchAcceleration
* navigator.accelerometer.clearWatch
## Objetos
* Acceleration
## navigator.accelerometer.getCurrentAcceleration
Tienes la aceleración actual a lo largo de los ejes *x*, *y*y *z* .
Estos valores de aceleración son devueltos a la `accelerometerSuccess` función de callback.
navigator.accelerometer.getCurrentAcceleration (accelerometerSuccess, accelerometerError);
### Ejemplo
function onSuccess(acceleration) {alert ('Aceleración X:' + acceleration.x + '\n' + 'Aceleración Y:' + acceleration.y + '\n' + 'Aceleración Z:' + acceleration.z + '\n' + ' Timestamp: ' + acceleration.timestamp + '\n');};
función onError() {alert('onError!');};
navigator.accelerometer.getCurrentAcceleration (onSuccess, onError);
### Navegador rarezas
Los valores para X, Y, movimiento Z son todo generada aleatoriamente en orden para simular el acelerómetro.
### iOS rarezas
* iOS no reconoce el concepto de conseguir la aceleración actual en cualquier momento dado.
* Debes ver la aceleración y capturar los datos en determinados intervalos de tiempo.
* Así, la función de `getCurrentAcceleration` rinde el último valor informado de una llamada de `watchAccelerometer`.
## navigator.accelerometer.watchAcceleration
Recupera el dispositivo actual de `Acceleration` a intervalos regulares, ejecutar el `accelerometerSuccess` función callback cada vez. Especificar el intervalo en milisegundos mediante la `acceleratorOptions` del objeto `frequency` parámetro.
El vuelto ver referencias ID intervalo del acelerómetro reloj y puede ser utilizado con `navigator.accelerometer.clearWatch` para dejar de ver el acelerómetro.
var watchID = navigator.accelerometer.watchAcceleration (accelerometerSuccess, accelerometerError, accelerometerOptions);
* **accelerometerOptions**: Un objeto con las llaves opcionales siguientes:
* **periodo**: periodo solicitado de llamadas a accelerometerSuccess con los datos de aceleración en milisegundos. *(Número)* (Por defecto: 10000)
### Ejemplo
function onSuccess(acceleration) {alert ('Aceleración X:' + acceleration.x + '\n' + 'Aceleración Y:' + acceleration.y + '\n' + 'Aceleración Z:' + acceleration.z + '\n' + ' Timestamp: ' + acceleration.timestamp + '\n');};
función onError() {alert('onError!');};
var opciones = { frequency: 3000 }; Actualizar cada 3 segundos var watchID = navigator.accelerometer.watchAcceleration (onSuccess, onError, opciones);
### iOS rarezas
La API llama a la función de devolución de llamada de éxito en el intervalo solicitado, pero restringe la gama de solicitudes que el dispositivo entre 40ms y 1000ms. Por ejemplo, si usted solicita un intervalo de 3 segundos, (3000ms), la API solicita datos desde el dispositivo cada 1 segundo, pero sólo ejecuta el callback de éxito cada 3 segundos.
## navigator.accelerometer.clearWatch
Dejar de mirar el `Acceleration` referenciado por el `watchID` parámetro.
navigator.accelerometer.clearWatch(watchID);
* **watchID**: el identificador devuelto por`navigator.accelerometer.watchAcceleration`.
### Ejemplo
var watchID = navigator.accelerometer.watchAcceleration (onSuccess, onError, opciones);
... adelante... navigator.accelerometer.clearWatch(watchID);
## Acceleration
Contiene `Accelerometer` datos capturados en un punto específico en el tiempo. Valores de aceleración incluyen el efecto de la gravedad (9,81 m/s ^ 2), de modo que cuando se encuentra un dispositivo plano y hacia arriba, *x*, *y*, y *z* valores devueltos deben ser `` , `` , y`9.81`.
### Propiedades
* **x**: Cantidad de aceleración en el eje X. (en m/s^2) *(Number)*
* **y**: Cantidad de aceleración en el eje Y. (en m/s^2) *(Number)*
* **z**: Cantidad de aceleración en el eje Z. (en m/s^2) *(Number)*
* **timestamp**: Momento de la captura en milisegundos.*(DOMTimeStamp)*