#javascript #android #geolocation #titanium
#javascript #Android #геолокация #titanium
Вопрос:
Следующий код из примера Titanium отлично работает на iPhone, но не на Android. Может кто-нибудь показать мне, как это можно написать, чтобы это работало и на Android 2.3.3? Ошибка не отображается, если я закомментирую ‘Ti.Geolocation.getCurrentPosition’ и это конечный тег.
if (!_bounty.captured) {
var captureButton = Ti.UI.createButton({
title:L('capture'),
top:10,
height:30,
width:200
});
captureButton.addEventListener('click', function() {
if (Ti.Geolocation.locationServicesEnabled) {
Ti.Geolocation.accuracy = Ti.Geolocation.ACCURACY_BEST;
Ti.Geolocation.getCurrentPosition(function(e) { //*causes error on Android*
var lng = e.coords.longitude;
var lat = e.coords.latitude;
bh.db.bust(_bounty.id, lat, lng);
bh.net.bustFugitive(Ti.Platform.id, function(_data) {
Ti.UI.createAlertDialog({
message:_data.message
}).show();
//on android, give a bit of a delay before closing the window...
if (Ti.Platform.osname == 'android') {
setTimeout(function() {
win.close();
},2000);
}
else {
win.close();
}
});
});
}
else {
Ti.UI.createAlertDialog({
title:L('geo_error'),
message:L('geo_error_details')
}).show();
}
});
win.add(captureButton);
}
Любая помощь приветствуется.
Комментарии:
1. Что это за сообщение об ошибке? Какая версия Ti?
2. Версия Ti 1.7.5, ошибка во время выполнения: Местоположение: android_asset/Resources/ui.js ; Сообщение: Слишком глубокая рекурсия при синтаксическом анализе
3. Звучит как ошибка Ti для Android. Вы пробовали использовать более раннюю версию Ti Mobile SDK, чтобы проверить, работает ли это?
4. Образец, который я скачал с GitHub, работает, но когда я собираю и пытаюсь воссоздать образец, он не работает на Android. В настоящее время я пытаюсь проверить различия в файлах и папках.
Ответ №1:
Вы должны использовать Google API SDK для использования геолокации на Android