0

誰かがこれに光を当てることができるかもしれません。

地理位置情報と FourSquare の API を使用する Phonegap を使用して、Android 用のモバイル アプリを構築しています。アプリをオフラインで実行できるようにしたかったので、getCurrentPosition メソッドで onError メソッドを使用することにしました。謎は、これは時々しか機能しないということです。

デバイスのワイヤレスおよび/またはGPSのオン/オフをテストするなど、考えられるすべての可能性を試しましたが、結果は同じです.onErrorメソッドが呼び出されることもあれば、呼び出されないこともあります.それはオンラインです。

JavaScript コードの重要な部分を含めました。基本的なエラーを検出したり、提案があればお知らせください。残りもアップロードできます...よろしくお願いします。

// Wait for Cordova to load 
document.addEventListener("deviceready", onDeviceReady, false);


// Cordova is ready 
function onDeviceReady() {
   navigator.geolocation.getCurrentPosition(onSuccess, onError);
}


// onSuccess Geolocation 
function onSuccess(position) {


$('#buttonNo1').click(checkLocation);


}

function checkLocation() {

    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude;

     var url2 = 'https://api.foursquare.com/v2/venues/search?ll='+latitude+','+ longitude + '&radius=10&oauth_token=FZGTD3IDTVJVJPFDARSSMZGVOTMK2ZOUPLHHYZKKN1JYJ11D&v=20130627&callback=?';

    $.get(url2, function(data) {

            venue0 =  data.response.venues[0].categories[0].name;
            venue1 =  data.response.venues[1].categories[0].name;
            venue2 =  data.response.venues[2].categories[0].name;
            populateHTML(venue0, venue1, venue2);

            }, "jsonp");

}


function onError(error) {

    populateHTMLManually();

}
4

2 に答える 2