也许有人可以对此有所了解。
我正在使用使用地理位置和 FourSquare 的 API 的 Phonegap 为 Android 构建一个移动应用程序。我想让应用程序离线运行,所以我在 getCurrentPosition 方法中使用了 onError 方法。神秘的是,这仅在某些时候有效。
我已经尝试了所有可能的可能性,包括使用设备的无线和/或 GPS 开/关进行测试,结果是一样的:有时会调用 onError 方法,而有时却不会……它在线。
我已经包含了 javascriptcode 的基本部分,如果您发现任何基本错误或有任何建议,请告诉我。我也可以上传其余的...在此先感谢。
// 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();
}