2017-02-04 14 views
0

私はアンドロイド携帯電話上で私のChromeブラウザ上でそれをテストしていHTML5ジオロケーションウェブアプリでhtml5ジオロケーションAPIのユーザー権限をリクエストするにはどうすればよいですか?

this.getCurrentLocation = function(callback) { 
     if (navigator.geolocation) { 
      navigator.geolocation.getCurrentPosition(function (pos) { 
       callback({ 
        'lat' : pos.coords.latitude, 
        'lng' : pos.coords.longitude   
       }); 
      }, function (error) { 
       switch(error.code) { 
        case error.PERMISSION_DENIED: 
         alert("Could not get your location. User denied the request for Geolocation."); 
         break; 
        case error.POSITION_UNAVAILABLE: 
         alert("Could not get your location. Location information is unavailable."); 
         break; 
        case error.TIMEOUT: 
         alert("Could not get your location. The request to get user location timed out."); 
         break; 
        case error.UNKNOWN_ERROR: 
         alert("Could not get your location. An unknown error occurred."); 
         break; 
        default: 
         alert("Could not get your location. An unknown error occurred."); 
       } 
       callback(null); 
      }, { 
       maximumAge: 500000, 
       enableHighAccuracy:true, 
       timeout: 6000 
      }); 
     } 
    }; 

を使用するには、このコードを持っています。しかし、すぐにユーザーが許可を拒否したということに行きます。私はそれを許したいのか尋ねることさえしない。どうすれば許可を得ることができますか?私はサイトの設定で、場所も許可を求められるべきであることを知っています。

デスクトップで試しても機能します。

何が間違っているのか分かりますか?

おかげ

答えて

0

これは、HTMLやJavaScriptを介して行われていない(そしてそれは良いことです)。それはユーザーのアプリ設定で行う必要があります。そうしないと、開発者は、ユーザーの希望を迂回して、アプリケーションに位置情報サービスの使用を受け入れるようにコードすることができます。

+0

しかし、私のアプリの設定では、Google Chromeで、最初に尋ねると言います。問題はウェブサイトが尋ねていないことです。 – omega

+0

設定をオフにしてからオンに戻してリセットします。アプリがあなたに尋ねて応答を得たら、それは再び尋ねません。 –

+0

私はそれを試みましたが、それでもユーザーは権限を拒否されました。 – omega

関連する問題