Я написал webapp с использованием JQM (1.3.1), jQuery (1.9), CSS3 и javascript. Теперь я нахожусь на втором этапе, где я портирую это приложение для магазина Apple с использованием разрыва в телефоне (2,7) (целевой iOS (6.1)/iPhone5 - Проблема может быть воспроизведена на iPhone 4S/iOS 6.0Событие «deviceready» в телефонной книге никогда не срабатывает, если служба определения местоположения отключена.
Мой код геолокации, как показано ниже, работал отлично, когда он был выполнен в браузере.
var geoOptions = { 'enableHighAccuracy': true, 'timeout': 10000, 'maximumAge': 0 };
navigator.geolocation.getCurrentPosition(geoSuccess, geoError, geoOptions);
function geoSuccess(postion)
{
//on success code here
}
function geoError(error)
{
//on error code here
}
Однако когда-то проходил через PhoneGap то мое приложение просил разрешения пользователя для доступа к услуге определения местоположения дважды, т.е. он показал всплывающее дважды. Поэтому, чтобы решить что я использовал код ниже, как было предложено во многих решениях в stackoverflow.
function onDeviceReady() {
navigator.geolocation.getCurrentPosition(geoSuccess, geoError,geoOptions);
}
$(function() {
document.addEventListener("deviceready", onDeviceReady, false);
});
Это разрешило всплывающее сообщение, однако началось новое.
Проблема: если служба определения местоположения отключена, мой код добавляет прослушиватель deviceready и ожидает, что событие deviceready будет запущено, но событие никогда не срабатывает, и оно просто сидит там. Если служба определения местоположения включена, она работает должным образом.
Кто-нибудь сталкивался с этой проблемой, прежде чем вы можете предложить мне, что вы сделали для ее решения, пожалуйста, я уже вложил в нее день отладки и исследования.
С уважением, спасибо.
Привет, у людей есть что-нибудь для меня? –