Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

AccuratePosition

  1. navigator.geolocation.getCurrentPosition を使うと精度が低くても successCallback が呼ばれる
  2. じゃあ navigator.geolocation.watchPosition を使えばええやん
  3. でもそれだと一定以上の精度にならないときは止まってしまう
  4. 一定以上の精度にならないならタイムアウトを設けてできるだけいい精度で取得するようにしよう

ということが簡単にできます。

使用例

getAccuratePosition(
    function(position){
        alert('成功');
    },
    function(error){
        alert('失敗:' + error.message + '(' + error.code + ')');
    },
    {limit:200, timeout:4000}
);

動作としては「精度がlimitより良くなるまで取得し続けるけれど、timeout以上かかるようならやめてそれなりの精度の位置情報を取得する」です。 navigator.geolocation.getCurrentPosition とやってるところを getAccuratePosition に変えるだけで大丈夫そうです。

オプション

使えるオプションは、

  • limit: 許される誤差(m)。省略時は100。
  • timeout: 待てる時間(ms)。省略時は無限。

のみです。

参考文献

About

時間の許す限り正確な位置情報を取得するJavascriptライブラリ

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages