0
私は、ロケーションサービスで不要な場所をブラックリストに載せるために何か作業をしています。ここに私の現在のコードはあります:どのように値をユーザーの値と比較し、ブラックリストに載っているかどうかを確認します。
どのように値を比較できますか?
MAIN SCRIPT:
if (navigator.geolocation) {
// Locate position
navigator.geolocation.getCurrentPosition(displayPosition, errorFunction
);
} else {
alert('Your device location is not approved.');
}
// Success callback function
function displayPosition(pos) {
var mylat = pos.coords.latitude;
var mylong = pos.coords.longitude;
var thediv = document.getElementById('locationinfo');
alert('Your HWID is compliant of ProtoProt regulations.');
}
function errorFunction(pos) {
alert('Error: (PROTOPROT_POS_DENIED). We only use your HWID for checking compliance. Enable location to enter.');
}
VALUES DICTIONARY:
blacklisted_areas = {
'area 51' : [w, y], // Replace w y with the floats of long and lat
'pink unicorn zoo' : [w, y], // same
// etc.
};
ありがとうございました! –
しかし、私は "blacklisted"をtrueとしてテストするときに、ユーザの位置を要求する前に成功メッセージを出すので、スクリプトをまとめるのにはいくつか問題があります。 –
コードを少し修正しましたが、正しく戻ります。私の例の 'console.log(ブラックリストに載せられた)'は、関数やコールバックの中にはないので、そのコードブロックに達するとすぐに出力されることに注意してください。あなたがジオロケーションに取り組んでいるとき、私はあなたがサービスをポーリングしていると仮定しています**実行に時間がかかります。 'for'ループ全体をチェーン化し、私の例からこのサービスのコールバックに出力する必要があるかもしれません。それでブラックリストに載っているかどうかチェックする前に実際にその場所を取得します;) –