2016-03-28 8 views
0

私のJSスクリプトには少し問題があります。 私は自分のページのユーザーの位置とカレントタイムゾーンを確認したいと思います。 Firefox、MS Internet Explorer、MS Edgeでテストしました。問題は、時々動作し、ときどき動作しないことです。なぜか分からない。ジオロケーションとJS

私が本当にこの機能を許せば、私はリクエストを受け取ります。しかし、私は経度と緯度を取得しません。

私がiPhoneで試してみると、常に動作します。

function getLocation() { 
     navigator.geolocation.getCurrentPosition(showPosition); 
     function showPosition(position) {; 
      location_latitude = position.coords.latitude 
      location_latitude = location_latitude.toFixed(6); 
      location_longitude = position.coords.longitude 
      location_longitude = location_longitude.toFixed(6) 
      location_accuracy = position.coords.accuracy 
      location_accuracy = location_accuracy.toFixed(2); 

      var gmt = new Date(); 
      var location_gmt_difference = (gmt.getTimezoneOffset()/60/-1).toFixed(1); 

      options_location_input.location_time_zone.value = location_gmt_difference 
      options_location_input.location_latitude.value = location_latitude 
      options_location_input.location_longitude.value = location_longitude 
      options_location_input.location_accuracy.value = location_accuracy 
     }; 
    }; 

誰かが私を助けることができますか?私は処刑する!

答えて

0

あなたはいつもですか?ページですか?ファイルシステム上のページを見ているだけではうまくいきません。ページを提供する必要があります。

+0

はい、はい。私は自分のコンピュータ上でXAMPPでそれを提供しています。 – Kai

+0

ローカルで実行している場合に発生する問題は、xamppがどのパブリックIPアドレスが実行されているのかわからないため、ジオロケーションを取得できません。とにかく、クライアント側のジオロケーションが(合法的に)ユーザーによって許可されていなければなりません。そうしないと、サーバー側のコードでクライアントの要求IPアドレスを取得できます。 – Kruser

+0

'getCurrentPosition'の2番目のパラメータとしてエラー処理関数を追加して、なぜ機能しないのかを表示します。 https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/getCurrentPosition – arkadianriver

関連する問題