いつもお世話になっております。
今回は表題の件について質問させていただきます。
現在、スマートフォンで位置情報を取得し、サーバにログを残すというアプリケーションを開発しています。
早速JavaScriptでテストを作成し、位置情報取得の実地テストを行ったところ
座標が動かず誤差だけが広がっていく、という結果に終わり使い物になりませんでした。
端末が悪いのか?と思い他の端末で確認しても同じような結果でした。
ですが、Googleマップを開いて見てみると誤差10m程度で移動に合わせてぴったりくっついてきました。
これはJavaScriptのGeolocationAPIの性能が低い、ということでしょうか?
例えば他のAPI、AndroidであればFusedLocationProviderAPIなどを利用すれば
Googleマップと同等の精度を得られますでしょうか?
拙い質問で申し訳ございませんが、ご回答のほどよろしくお願いいたします。
// 追記
テスト用に作成したコードを追記します。
JavaScript
1$(function() { 2 let locationObj = navigator.geolocation.watchPosition( 3 function(position) { 4 let latitude = position.coords.latitude; 5 let longitude = position.coords.longitude; 6 let accuracy = position.coords.accuracy; 7 8 // DBに保存 9 $.post("post.php", { // SQLを発行するだけのPHP 10 id: 1, // テスト用データ 11 latitude : latitude, 12 longitude: longitude 13 }); 14 15 // ログ出力 16 $("#log").append(latitude+", "+longitude+", "+accuracy+"<br>"); 17 }, 18 function() { 19 alert("位置情報を取得できません!"); 20 navigator.geolocation.clearWatch(locationObj); 21 } 22 ); 23});
回答1件
あなたの回答
tips
プレビュー