navigator.geolocation.getCurrentPosition は機能する場合と機能しない場合があります
P粉831310404
2023-08-27 15:01:59
<p>したがって、非常に単一の JS である navigator.geolocation.getCurrentPosition jammy を使用します。
<pre class="brush:php;toolbar:false;">$(document).ready(function(){
$("#ビジネスの場所、#人々の場所").click(function() {
navigator.geolocation.getCurrentPosition(foundLocation, noLocation);
});
navigator.geolocation.getCurrentPosition(foundLocation, noLocation);
関数が見つかった場所(位置) {
var lat = 位置.座標.緯度;
var lon = 位置.座標.経度;
var userLocation = 緯度 ', ' 経度;
$("#ビジネスの現在の場所, #人々の現在の場所").remove();
$("#近くの")
.watermark("現在の場所")
.after("<input type='hidden' name='business-current-location' id='business-current-location' value='" userLocation "' />");
$("#近くの人")
.watermark("現在の場所")
.after("<input type='hidden' name='people-current-location' id='people-current-location' value='" userLocation "' />");
}
関数 noLocation() {
$("#Near-Me").watermark("場所が見つかりませんでした");
$("#people-Near-Me").watermark("場所が見つかりませんでした");
}
})//DocReady</pre> を終了します。
<p>基本的に、ここで発生した事情は私が現在の位置を取得した場合、2 つの「水印」が「現在の位置」を示す 2 つのフィールドに配置され、その作成に经度データが使用されます。 2つのビットセグメントもまた、それらに関連する単一の機能を有し、同じ操作を実行することができるように、開始時に削除される。
残念なことに、それは3回程度の間隔ごとに機能する可能性があります。
これは何ですか???</p>
部分的な答えはありますが、残念ながら完全な答えではありません。
まず、getCurrentPosition の デフォルト タイムアウト が infinite(!) であることに注意してください。これは、getCurrentPosition がバックエンドのどこかでハングした場合、エラー ハンドラーは 決して呼び出されないことを意味します。
タイムアウトを確実にするには、getCurrentPosition の呼び出しにオプションの 3 番目のパラメーターを追加します。たとえば、何が起こったかを尋ねるプロンプトが表示されるまでユーザーに 10 秒以内に待機させたい場合は、次のように使用します。 リーリー第二に、異なる環境ではまったく異なる信頼性を経験しました。自宅では、精度は悪いものの、1~2秒以内に折り返しの電話がかかってきました。 p>
しかし、職場ではかなり奇妙な動作の変化を経験しています。地理位置情報は一部のコンピューター (もちろん IE を除く) では常に機能しますが、他のコンピューターでは Chrome と Safari でのみ機能し、Firefox では機能しません (Gecko の問題?)。 、他のコンピュータは 1 回だけ動作し、その後故障します。このパターンは時間ごとおよび毎日変化します。 「幸運な」コンピューターを持っている場合もあれば、そうでない場合もあります。もしかしたら、満月の間にヤギを屠殺すれば助かるかもしれない?
これは理解できませんが、バックエンド インフラストラクチャは、この機能を推進するさまざまな愛好家向けの書籍や Web サイトで宣伝されている
よりもアンバランスであるのではないかと考えています。この機能がどれほど不安定であるか、エラー ハンドラーを適切に動作させるにはタイムアウト設定がどれほど重要かについて、もっと直接的に伝えてほしかったと思います。私は今日これらを生徒たちに教えようとしていたのですが、自分のコンピューター (プロジェクターといくつかの大きなスクリーン上で) が静かに失敗するという恥ずかしい状況に遭遇しましたが、約 80% の生徒はほぼ即座に結果を得ています。 (まったく同じワイヤレス ネットワークを使用します)。生徒たちもタイプミスやその他の間違いを犯し、私自身のコンピュータが故障した場合、これらの問題を解決するのは非常に困難です。