PR

位置登録処理の改善 #749

wada opened this at 2021-04-20T18:05:56; closed

Description

opened by wada at 2021-04-20T18:05:56; updated 2024-06-01T20:04:44

元々の位置情報取得処理だと、誤差が大きくなりやすいので改善

改善後の位置登録処理
1. 10秒間位置情報を継続取得
2. 誤差が300メートル以下なった段階で、位置情報を登録
3. 10秒経っても誤差が300メートル以下にならなかったら、最後に取得した位置情報を登録
4. apiでエラーが発生するか、10秒経って位置情報が取れなければエラー表示

誤差の許容範囲は実際に位置登録して調整予定

#log_user_locationに誤差情報を格納カラム追加
ALTER TABLE log_user_location ADD accuracy float DEFAULT '0' AFTER latitude;

参考
https://youcune.com/2012/01/12/221628/

Comment

#10452 by wada at 2021-04-20T19:12:14; updated 2021-04-20T19:12:14

@kouho @iwamoto
レビューお願いします。

デバッグユーザで本番テスト後に全ユーザに解放予定です。
httpだと位置登録できない可能性があります。
その場合は、デバッグツールでロケーションを変更してください。

!スクリーンショット 2021-04-20 19

wada add_label at 2021-04-21T10:49:34: レビュー待ち

Comment

#10464 by kouho at 2021-04-21T14:53:30; updated 2021-04-21T15:00:38

@wada
誤差が300メートル以上の状態の処理を見ようとしているのですが、
Main-Location.tpl291行目の position.coords.accuracy < limit_meter を 500<limit_meter
に変更しても297行目のgeo_success(position) に入らず、278行目のgeo_success(position) に入ってしまいます。
どのように確認したら良いでしょうか?

Comment

#10467 by wada at 2021-04-21T15:04:15; updated 2021-04-21T15:04:15

@kouho
それぞれのsuccessコールバックの呼び出しタイミングについて以下の通りです。

L278: setTimeoutのgeo_success(position);
accuracyが指定値(300)未満にならず、10秒過ぎるとこちらのsuccessが呼ばれます

L297: watchPositionのgeo_success(position);
accuracyが指定値(300)未満になると、こちらのsuccessが呼ばれます

300メートル以上は上のsuccess、300メートル未満は下のsuccessが呼び出されるので、コメントにある挙動であっています。
> 297行目のgeo_success(position) に入らず、278行目のgeo_success(position) に入ってしまいます。

Comment

#10469 by kouho at 2021-04-21T15:24:03; updated 2021-04-21T15:24:03

@wada
なるほど、了解です。1~4に加えてlog/error_location.txtにエラーログが出力されているのを確認しました。
誤差の許容範囲については判断がつきませんが、それ以外については問題ないかと思います。

kouho add_label at 2021-04-21T15:24:10: 皇甫 LGTM

Comment

#10471 by iwamoto at 2021-04-21T15:34:32; updated 2021-04-21T15:34:32

@wada
レビューしました、現状では問題ないと思います。

wada close_comment at 2021-04-21T15:51:44: 確認ありがとうございます。
wada reopen at 2021-04-21T15:51:59: Reopen
wada merge at 2021-04-21T15:52:05: 位置登録処理の改善
wada close at 2021-04-21T15:52:05: Close
wada refer at 2021-04-22T12:44:45: 750:位置登録機能の改善
kouho refer at 2022-10-31T17:58:31: 2371:位置登録まとめ

Commit range

base963c22033aa229838c189875e8efce65dc875765
headecd6c2ecee8bd33bbd66e8b19ce8299fb32f65df
base branchjolly/jr-web:develop
head branchjolly/jr-web:fix_geo

View commits

Commit details are loaded from Git when a dynamic archive server is running, or can be embedded with --include-commits.
Files changed5 filesView patch
statusfile
modifiedlib/SubFunc.inc
addedlib/ajax/area_failed.inc
modifiedlib/public/Area-Set.inc
modifiedpublic_html/ajax.php
modifiedpublic_html/template/Main-Location.tpl
Patch body is stored as a separate file to keep this page lightweight.