# cordova-plugin-device-orientation Questo plugin consente di accedere alla bussola del dispositivo. La bussola è un sensore che rileva la direzione o la voce che il dispositivo è puntato, in genere dalla parte superiore del dispositivo. Esso misura la rotta in gradi da 0 a 359.99, dove 0 è a nord. L'accesso avviene tramite un oggetto globale `navigator.compass`. Anche se l'oggetto è associato con ambito globale del `navigator`, non è disponibile fino a dopo l'evento `deviceready`. document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { console.log(navigator.compass); } ## Installazione cordova plugin add cordova-plugin-device-orientation ## Piattaforme supportate * Amazon fuoco OS * Android * BlackBerry 10 * Browser * Firefox OS * iOS * Tizen * Windows Phone 7 e 8 (se disponibili nell'hardware) * Windows 8 ## Metodi * navigator.compass.getCurrentHeading * navigator.compass.watchHeading * navigator.compass.clearWatch ## navigator.compass.getCurrentHeading Ottenere la corrente della bussola. La bussola viene restituita tramite un oggetto `CompassHeading` utilizzando la funzione di callback `compassSuccess`. navigator.compass.getCurrentHeading(compassSuccess, compassError); ### Esempio function onSuccess(heading) { alert('Heading: ' + heading.magneticHeading); }; function onError(error) { alert('CompassError: ' + error.code); }; navigator.compass.getCurrentHeading(onSuccess, onError); ## navigator.compass.watchHeading Ottiene il titolo attuale del dispositivo a intervalli regolari. Ogni volta che viene recuperato il titolo, viene eseguita la funzione di callback `headingSuccess`. L'orologio restituito ID fa riferimento l'intervallo orologio bussola. L'ID di orologio utilizzabile con `navigator.compass.clearWatch` a smettere di guardare la navigator.compass. var watchID = navigator.compass.watchHeading(compassSuccess, compassError, [compassOptions]); `compassOptions` può contenere i seguenti tasti: * **frequency**: la frequenza di recuperare la bussola in millisecondi. *(Numero)* (Default: 100) * **filter**: il cambiamento in gradi necessari per avviare un callback di successo watchHeading. Quando questo valore è impostato, la **frequency** viene ignorata. *(Numero)* ### Esempio function onSuccess(heading) { var element = document.getElementById('heading'); element.innerHTML = 'Heading: ' + heading.magneticHeading; }; function onError(compassError) { alert('Compass error: ' + compassError.code); }; var options = { frequency: 3000 }; // Update every 3 seconds var watchID = navigator.compass.watchHeading(onSuccess, onError, options); ### Stranezze browser I valori per la rubrica attuale sono generati casualmente al fine di simulare la bussola. ### iOS stranezze Solo un `watchHeading` può essere in effetti una volta in iOS. Se un `watchHeading` utilizza un filtro, chiamata `getCurrentHeading` o `watchHeading` utilizza il valore di filtro esistenti per specificare le modifiche intestazione. Guardando i cambiamenti di direzione con un filtro è più efficiente con intervalli di tempo. ### Amazon fuoco OS stranezze * `filter`non è supportato. ### Stranezze Android * Nessun supporto per`filter`. ### Firefox OS stranezze * Nessun supporto per`filter`. ### Tizen stranezze * Nessun supporto per`filter`. ### Windows Phone 7 e 8 stranezze * Nessun supporto per`filter`. ## navigator.compass.clearWatch Smettere di guardare la bussola a cui fa riferimento il parametro ID orologio. navigator.compass.clearWatch(watchID); * **watchID**: l'ID restituito da`navigator.compass.watchHeading`. ### Esempio var watchID = navigator.compass.watchHeading(onSuccess, onError, options); // ... later on ... navigator.compass.clearWatch(watchID); ## CompassHeading Alla funzione di callback `compassSuccess` viene restituito un oggetto `CompassHeading`. ### Proprietà * **magneticHeading**: la rotta in gradi da 0-359.99 in un unico momento. *(Numero)* * **trueHeading**: la voce rispetto al Polo Nord geografico in gradi 0-359.99 in un unico momento. Un valore negativo indica che non è possibile determinare la vera voce. *(Numero)* * **headingAccuracy**: lo scostamento in gradi tra il titolo segnalato e la vera voce. *(Numero)* * **timestamp**: il tempo in cui questa voce è stata determinata. *(millisecondi)* ### Amazon fuoco OS stranezze * `trueHeading`non è supportato, ma riporta lo stesso valore`magneticHeading` * `headingAccuracy`è sempre 0 perché non non c'è alcuna differenza tra la `magneticHeading` e`trueHeading` ### Stranezze Android * La `trueHeading` proprietà non è supportata, ma riporta lo stesso valore`magneticHeading`. * La `headingAccuracy` proprietà è sempre 0 perché non non c'è alcuna differenza tra la `magneticHeading` e`trueHeading`. ### Firefox OS stranezze * La `trueHeading` proprietà non è supportata, ma riporta lo stesso valore`magneticHeading`. * La `headingAccuracy` proprietà è sempre 0 perché non non c'è alcuna differenza tra la `magneticHeading` e`trueHeading`. ### iOS stranezze * La `trueHeading` proprietà viene restituito solo per servizi di localizzazione attivate tramite`navigator.geolocation.watchLocation()`. * Per i dispositivi iOS 4 sopra, voce fattori nell'orientamento corrente del dispositivo e non fa riferimento la sua posizione assoluta, per le app che supporta tale orientamento. ## CompassError Un oggetto `CompassError` viene restituito alla funzione di callback `compassError` quando si verifica un errore. ### Proprietà * **codice**: uno dei codici di errore predefiniti elencati di seguito. ### Costanti * `CompassError.COMPASS_INTERNAL_ERR` * `CompassError.COMPASS_NOT_SUPPORTED`