{"action":"created","issue":{"url":"https://api.github.com/repos/geoadmin/mf-geoadmin3/issues/2092","labels_url":"https://api.github.com/repos/geoadmin/mf-geoadmin3/issues/2092/labels{/name}","comments_url":"https://api.github.com/repos/geoadmin/mf-geoadmin3/issues/2092/comments","events_url":"https://api.github.com/repos/geoadmin/mf-geoadmin3/issues/2092/events","html_url":"https://github.com/geoadmin/mf-geoadmin3/pull/2092","id":54775395,"number":2092,"title":"Heading on mobiles","user":{"login":"kandre","id":8038575,"avatar_url":"https://avatars.githubusercontent.com/u/8038575?v=3","gravatar_id":"","url":"https://api.github.com/users/kandre","html_url":"https://github.com/kandre","followers_url":"https://api.github.com/users/kandre/followers","following_url":"https://api.github.com/users/kandre/following{/other_user}","gists_url":"https://api.github.com/users/kandre/gists{/gist_id}","starred_url":"https://api.github.com/users/kandre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kandre/subscriptions","organizations_url":"https://api.github.com/users/kandre/orgs","repos_url":"https://api.github.com/users/kandre/repos","events_url":"https://api.github.com/users/kandre/events{/privacy}","received_events_url":"https://api.github.com/users/kandre/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"kandre","id":8038575,"avatar_url":"https://avatars.githubusercontent.com/u/8038575?v=3","gravatar_id":"","url":"https://api.github.com/users/kandre","html_url":"https://github.com/kandre","followers_url":"https://api.github.com/users/kandre/followers","following_url":"https://api.github.com/users/kandre/following{/other_user}","gists_url":"https://api.github.com/users/kandre/gists{/gist_id}","starred_url":"https://api.github.com/users/kandre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kandre/subscriptions","organizations_url":"https://api.github.com/users/kandre/orgs","repos_url":"https://api.github.com/users/kandre/repos","events_url":"https://api.github.com/users/kandre/events{/privacy}","received_events_url":"https://api.github.com/users/kandre/received_events","type":"User","site_admin":false},"milestone":null,"comments":27,"created_at":"2015-01-19T15:13:44Z","updated_at":"2015-04-02T13:43:50Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/geoadmin/mf-geoadmin3/pulls/2092","html_url":"https://github.com/geoadmin/mf-geoadmin3/pull/2092","diff_url":"https://github.com/geoadmin/mf-geoadmin3/pull/2092.diff","patch_url":"https://github.com/geoadmin/mf-geoadmin3/pull/2092.patch"},"body":"I am glad to offer you an early access (apple mobile devices) although the code is dirty: \r\n\r\n[Test on Apple mobile only](http://mf-geoadmin3.dev.bgdi.ch/kan_manage_heading/src) (Issue #380)\r\n\r\nInitial [specification] (https://docs.google.com/presentation/d/14k9JEELlyZiETG36E3G4BtMO7c6LIsCdcPHYxTV_mYQ/edit#slide=id.g1d827be7c_0204) (see slides 10-11)\r\n\r\nThe geolocation/orientation button has 3 states:\r\n\r\n0 : OFF\r\n1 : Geolocation and orientation ON, map oriented to the North, small arrow indicates where the devices is heading to.\r\n2 : Geolocation and orientation ON, map rotates to get the same heading as the device. \r\n\r\nThere are still some developments, coding choices and bugs to fix:\r\n\r\n- [x] Geometric consistency between location, orientation and accuracy markers\r\n\r\n- [x] hide/erase the actual rotation icon (4th position) at state 2\r\n\r\n- [x] Bug at state 1: orientation icon is rotated when user touch-rotate the map\r\n\r\n- [x] User can take control of the rotation on state 2. Touch-rotate events disengage automatic rotation based on heading signal\r\n\r\n- [x] Desktop use-case (usually there is no orientation provided but a geolocation)\r\n\r\n- [x] Cross-devices compatibility \r\n\r\n- [x] Bug at state 2: map turns 360° when heading goes through North (seems to be an ol3 limitation)\r\n\r\n- [x] Code cleaning and optimization\r\n\r\n- [x] Incredibly exquisite icons as soon as we're sure about the final design\r\n\r\n\r\nEventually: \r\n\r\n- Mix throttle and debounce services\r\n- I wait for your comments/criticisms  about the physical behavior / smoothness of the rotation. So far I implemented a throttle to smooth the heading signal. In my opinion, it is also a signal processing problem, and I have some hevier solutions in my mind, such as:\r\n\r\n  - Low-pass filter\r\n  - Kalman filter (heavy but powerful) to predict the user behavior, widely used by navigation devices"},"comment":{"url":"https://api.github.com/repos/geoadmin/mf-geoadmin3/issues/comments/88906446","html_url":"https://github.com/geoadmin/mf-geoadmin3/pull/2092#issuecomment-88906446","issue_url":"https://api.github.com/repos/geoadmin/mf-geoadmin3/issues/2092","id":88906446,"user":{"login":"kandre","id":8038575,"avatar_url":"https://avatars.githubusercontent.com/u/8038575?v=3","gravatar_id":"","url":"https://api.github.com/users/kandre","html_url":"https://github.com/kandre","followers_url":"https://api.github.com/users/kandre/followers","following_url":"https://api.github.com/users/kandre/following{/other_user}","gists_url":"https://api.github.com/users/kandre/gists{/gist_id}","starred_url":"https://api.github.com/users/kandre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kandre/subscriptions","organizations_url":"https://api.github.com/users/kandre/orgs","repos_url":"https://api.github.com/users/kandre/repos","events_url":"https://api.github.com/users/kandre/events{/privacy}","received_events_url":"https://api.github.com/users/kandre/received_events","type":"User","site_admin":false},"created_at":"2015-04-02T13:43:50Z","updated_at":"2015-04-02T13:43:50Z","body":"Jolla/Sailfish, april fool ?"}}