2012-01-08 13 views
0
navigator.geolocation.getCurrentPosition(
     function(pos) { 
     var fullpos = new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude); 
     computePartners(fullpos); 
     } 
    ); 

は私が持っているものです。クライアントがどこにいるかを知るためのアクセスをクライアントが許可している場合(クライアントの物理的な位置を取得する)、computePartners()を実行します。しかし、そうでない場合は、出力をアラート(「エラー」)にしたいと思います。これどうやってするの?Google geo api:クライアントが許可を拒否した場合の対処方法

答えて

3

私は、ジオロケーションのため、このコードを使用します。

if(navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(function(position) { 
     // ok   
    }, function(error) { 
     if(error.code == 0){ 
     // unknown error 
     } else if(error.code == 1) { 
     // permission denied 
     } else if(error.code == 2) { 
     // position unavailable 
     } else if(error.code == 3) { 
     // timeout 
     } 
     console.log(error.message); 
    }, { 
     enableHighAccuracy: true, 
     maximumAge: 30000, 
     timeout: 10000  
    }); 
} else { 
     // browser do not support geolocation 
} 
+0

オーケーユーザーが受け入れられ、brwoserの一部が正常に動作します。しかし、ユーザーが拒否したわけではないので、私はそこにアラートを置こうとしました。それから私は自分のサイトにアクセスし、私が「今は」と言って尋ねると、何も起こりません。 – Karem

+0

それは奇妙です - [documentation](http://developer.mozilla.org/En/Using_geolocation)書きました。おそらく、[誰かが提案する](http://stackoverflow.com/questions/3397585/navigator-geolocation-getcurrentposition-sometimes-works-sometimes-doesnt)のようなタイムアウトパラメータを設定する必要がありますか?使用するブラウザはどれですか? – hamczu

+0

がクロムに​​試しました。ありがとう – Karem

関連する問題