誰かがこれに光を当てることができるかもしれません。
地理位置情報と 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();
}