2016-05-08 6 views
0

このコードを少し修正する必要があります。geoTest関数 - if/else文の作成

このタスクでは、geoTest()という名前の新しい関数を宣言する必要があります。 ナビゲータの.geolocationプロパティの値をチェックするif/else文を含める必要があります。値が真実である場合、関数は成功時にはcreateMap()関数を、失敗時には失敗()関数を実行してgetCurrentPosition()メソッドを呼び出す必要があります。 navigator.geolocation値がfalsyの場合、関数はfail()関数を呼び出す必要があります。

-タイムアウトは別のステップからのものです。

function geoTest() { 
    var waitForUser = setTimeout(fail, 10000); 
    if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(createMap()); 
    } else { 
     fail(); 
    } 
} 

ありがとう:

は、ここに私のコードです。

答えて

0

コールバック関数をgetCurrentPositionに渡す必要があります。ファンクションを引数として渡すには、ファンクション名を使用し、の後にかっこを入れます(かっこで関数をすぐに呼び出し、戻り値を関数に渡します)。

fail()に電話すると、getCurrentLocation()に失敗したが、navigator.geolocationが設定されていないときに電話をかけていたとします。 getCurrentLocation()は、失敗したときに呼び出される第2のコールバック関数を受け取ります。

function geoTest() { 
    var waitForUser = setTimeout(fail, 10000); 
    if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(createMap, fail); 
    } 
} 

あなたの仕事はgetCurrentPositionためのMDNドキュメントに示す例とほぼ同じです。

関連する問題