140 lines
5.6 KiB
Markdown
140 lines
5.6 KiB
Markdown
|
<!---
|
||
|
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)*
|