― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

返信する
ユーザー名:
件名:
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: ON
BBCode を無効にする
フォントサイズ:
フォントカラー
スマイリーを無効にする
URL を自動的にパースしない
ユーザエージェントを表示する
認証コード
KCaptcha by Nikita_Sp
   

トピックのレビュー - FirefoxによるGeoLocationの振る舞いでお尋ねします
作成者 メッセージ
  記事の件名:  Re: FirefoxによるGeoLocationの振る舞いでお尋ねします  引用付きで返信する
EarlgreyTeaさん
ありがとうございます。 少し眺めてみます。
投稿記事 Posted: 2021年7月12日(月) 19:54
  記事の件名:  Re: FirefoxによるGeoLocationの振る舞いでお尋ねします  引用付きで返信する
きたきた さんが書きました:
代案としてChromのようにWebSerialAPIでcomポートを直接読めればいいのですが、FireFoxでの実装はどうなんでしょうか。

下記の通り、進めているのは Chrome とそれに追従する Edge だけです。
Serial - Web APIs | MDN

きたきた さんが書きました:
本題に戻って、sensor(location)API(前の質問ではドライバと書きました)とGeolocation APIとブラウザやプラットフォームとの関係性を知りたいということです。

その辺は、Firefox や Chromium のソースコードを調べるしかないように思います。
Chromium に関してはここでは触れませんが、Firefox のソースコードは例えば Ver.89.0.2 であれば、
https://ftp.mozilla.org/pub/firefox/rel ... .2/source/
に tar.xz 形式の圧縮ファイルで上がっています。
これをダウンロードして展開すれば、ソースコード一式が入手できます。
また、ソースコードを閲覧するだけなら
https://searchfox.org/mozilla-central/source/
から、 mozilla-central リポジトリを覗くこともできます。

さすがに私は本腰入れて調べるつもりはないですが、
mozilla-central/dom/geolocation/Geolocation.cpp の nsGeolocationService::Init() とかが、調べる入り口になると思います。
https://searchfox.org/mozilla-central/s ... on.cpp#471

オプションによる条件ビルドで、プラットフォームごとの Locationプロバイダーの初期化を行っているようです。
about:config の設定も関係しているようです。
投稿記事 Posted: 2021年7月11日(日) 10:35
  記事の件名:  Re: FirefoxによるGeoLocationの振る舞いでお尋ねします  引用付きで返信する
EarlgreyTeaさん、コメントありがとうございます。

>サンプルコードくらいは・・
基本的なコード構成のでありリストを付けることで長くなるのを避けたいという気持ちが先行してしまいました。質問する側として大変失礼しました。
ここでは、FireFoxという製品についての情報交換の場と認識していたので、出来るだけ切り分けてFireFoxの挙動について情報がないかという点が念頭にありました。


>プラットフォームの違いによるものではないでしょうか。
>ブラウザーがデータを取得するためには間になにかのレイヤーが必要とか、・・想像します。
私もそうかなと思いますが、ブラウザ間でも相違があるためブラウザメーカーの考え方(仕様)があるのでしょうか。
その仕様とはどんなことなのか、この辺りの事情がなんなの

代案としてChromのようにWebSerialAPIでcomポートを直接読めればいいのですが、FireFoxでの実装はどうなんでしょうか。
ネイティブアプリのお世話になるしかないようです。

本題に戻って、sensor(location)API(前の質問ではドライバと書きました)とGeolocation APIとブラウザやプラットフォームとの関係性を知りたいということです。

各ブラウザでgeolocationで取れたデータを表示させて並べてみます。一番右はsensorAPIの出力です。
左からFireFox,Edge,Chrom,ie(win10),sensors

テストコードをtxtで次の返信でしましたがスパムとして拒否されたので未掲載です。


添付ファイル:
コメント: 各ブラウザでの取得状況
all-1.png
all-1.png [ 276.75 KiB | 表示数: 5132 回 ]
投稿記事 Posted: 2021年7月10日(土) 23:30
  記事の件名:  Re: FirefoxによるGeoLocationの振る舞いでお尋ねします  引用付きで返信する
きたきた さんが書きました:
ブラウザの異なる挙動を知りたかったので、細かいところは端折りました。

きたきた さんにとっては自明のことでも、サンプルコードくらいは明示しておくべきかなと思います。

きたきた さんが書きました:
GPSモジュール:PA6C(以下略)

PCに繋ぐだけの製品を想像して、それにサンプルコードなどが付属しているのを想定してお聞きしたのですが、関係なさそうですね。

では、最初の投稿の内容に関してコメントしてみたいと思います。

きたきた さんが書きました:
なお切り分けとして、windows sensor側の出力は別途appで全出力を確認しています。

Windows のセンサードライバーからのデータをモニターアプリで確認し、GPS出力は全ての項目が取れていたということですね。

きたきた さんが書きました:
このような状況でブラウザによりGeolocationCoordinatesが出るものと出ないものがあり、
スマホ搭載のFirefox,safari等では全ての項目で出力あり
ノートPC搭載
(中略)
このようにブラウザによって異なる状況です。

スマートフォンは最初からGPSを利用するように構成されたデバイスですが、普通のWindows のノートPCはそうではありませんので、プラットフォームの違いによるものではないでしょうか。
モニターアプリはセンサードライバーからデータを取得できても、ブラウザーがデータを取得するためには間になにかのレイヤーが必要とか、そういうことなのではないかと想像します。

GPS内臓のWindowsモバイルデバイスや、Linux PCで試してみると、違った結果になるのではないかと思います。

私自身は有用な情報を持ち合わせていないのでこれくらいしかコメントできませんが、一応 Geolocation API 関連の参照リンク書いておきます。

投稿記事 Posted: 2021年7月10日(土) 16:21
  記事の件名:  Re: FirefoxによるGeoLocationの振る舞いでお尋ねします  引用付きで返信する
こんにちは、EarlgreyTea さん、よろしくお願いします。

>さらっとしか書かれていないので、いろいろ分からないところがありますのでお尋ねします。

ブラウザの異なる挙動を知りたかったので、細かいところは端折りました。


>具体的にどのようなデバイス(できればメーカーや製品名等)を接続されているのでしょうか。

GPSモジュール:PA6C  TTL232c->USB変換デバイス:SH-U09BL(CP2102) 
現状では仮想comポート(4)へつながっていて、GPS NMEA Viewer等で確認できます。
sensorドライバー:PC付属


>JavaScript のサンプルコードをテストされているみたいですが、それはどこのサンプルコードでしょうか。

基本的なGeolocationAPIを解説している複数あるサイトの一つです。
例えば、下記urlの2-2watchPositionの項
https://kurage.ready.jp/w_map/map-opn/lf-ichi.html



>「別途app」とはなんのことでしょうか。

Microsoft store のsensorAPIをテストする複数掲載の一つです。
https://www.microsoft.com/en-us/p/senso ... verviewtab
投稿記事 Posted: 2021年7月10日(土) 10:08
  記事の件名:  Re: FirefoxによるGeoLocationの振る舞いでお尋ねします  引用付きで返信する
きたきた さん、EarlgreyTea と申します。

きたきた さんが書きました:
情報等でも結構ですのでご指導いただければ幸いです。

情報を持っているわけではありませんが、少し興味が湧きました。
さらっとしか書かれていないので、いろいろ分からないところがありますのでお尋ねします。

きたきた さんが書きました:
ノートPCへUSB仮想ポートGPS接続し、USBドライバ、sensorドライバをセットアップしています。

具体的にどのようなデバイス(できればメーカーや製品名等)を接続されているのでしょうか。
それがわかれば、こちらも理解の助けになるように思います

きたきた さんが書きました:
javascriptにてwatchPosition()を使ったサンプルでは
きたきた さんが書きました:
サンプルでは

JavaScript のサンプルコードをテストされているみたいですが、それはどこのサンプルコードでしょうか。
どこかのサイトで公開されているものでしょうか。
ノートPCに接続したデバイスに付属していたものでしょうか。
同じサンプルコードを私も見ないことには、状況を正しく理解することは困難なように思います。

きたきた さんが書きました:
なお切り分けとして、windows sensor側の出力は別途appで全出力を確認しています。

出力の確認のために別途appを利用されているとのことですが、その「別途app」とはなんのことでしょうか。

よろしくお願いします。
投稿記事 Posted: 2021年7月09日(金) 22:31
  記事の件名:  FirefoxによるGeoLocationの振る舞いでお尋ねします  引用付きで返信する
FirefoxによるGeoLocationの振る舞いでお尋ねします。
環境はWindows10 20H1 64bit, Firefox64 Ver89.2です。
ノートPCへUSB仮想ポートGPS接続し、USBドライバ、sensorドライバをセットアップしています。
このような状況で、javascriptにてwatchPosition()を使ったサンプルでは、GPS出力のうちlatitude,longitude,accracyは取れますがそれ以外は0もしくはnullとなります。
サンプルではPositionOptionsにてenableHighAccracy=trueにしています。

このような状況でブラウザによりGeolocationCoordinatesが出るものと出ないものがあり、
スマホ搭載のFirefox,safari等では全ての項目で出力あり
ノートPC搭載
 ie(windows10版)では全ての項目で出力あり
 firefoxではlatitude,longitude,accracy,altitudeは出力あり、altitudeaccracy,heading,speedが0およびnill
 edgeではlatitude,longitude,accracyは出力あり、altitude,altitudeaccracy,heading,speedが0およびnill
 chromeではlatitude,longitude,accracyは出力あるがwifi時のロケーション出力
このようにブラウザによって異なる状況です。
なお切り分けとして、windows sensor側の出力は別途appで全出力を確認しています。

他のブラウザは別として、Firefox側でGeolocationCoordinatesが取り出せない条件や設定がありますでしょうか?
情報等でも結構ですのでご指導いただければ幸いです。
投稿記事 Posted: 2021年7月09日(金) 18:02

All times are UTC + 9 hours


ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean