1

より広範なインターネットにアクセスせずに、純粋にローカルの無線 LAN をセットアップしようとしています。つまり、すべての Web サイトは、192.168.xx アドレスを介してホストから提供されます。

1 つのホスト (192.168.1.100) は、次の種類の JavaScript を含む Web ページを提供しています。

navigator.geolocation.getCurrentPosition(showPosition,errorPosition,{ enableHighAccuracy:true });

Androidフォンを使用してこのホストに接続しています。(目的は、電話の GPS 位置を抽出し、ホストにアップロードして、KML ファイル経由で Google Earth に表示することです)。

Android のブラウザ アプリは、 http://example.com/locationtest.htmlのような名前付きサーバー経由で WAN にアクセスすると、この同じアプリケーションに場所を提供しますが、WANから切断してローカルのみに接続すると、 LAN と同じページを読み込むと、navigator.geolocation.getCurrentPosition が機能しないように見えます。

アイデア?既知の禁止事項? この問題をデバッグする方法は? (デバイス自体には素敵な JavaScript デバッガーがありません...このデバイスがデスクトップで応答する方法を偽造する方法はありますか?)

前もって感謝します

4

1 に答える 1

1

あなたの問題は位置情報にあると思います。つまり、GPS 以外にも使用されます。enableHighAccuracy を true に設定していることは知っています。デバイスに GPS がある場合はGPS を強制する必要がありますが、ブラウザが getCurrentPosition を実装する方法によって異なります。接続する地理位置情報データベースがない場合、動作を拒否することがあります。

maximumAge を非常に高く設定してキャッシュされたデータを使用するか、タイムアウトをゼロフォース GPS に設定するか、これらの線に沿って何かを試すことができます。ただし、すべての Android ブラウザーで一貫した結果が得られるとは限りません。

実際; あなたがこの問題を抱えていることに少し驚いています。オフライン シナリオを説明した W3C Geolocation API 仕様のユーザー ケースを読んだことは確かです。PositionError インターフェイスから返されたデータを表示して、さらに情報を取得できるかどうかを確認してください。

于 2012-04-11T04:50:16.493 に答える