Я строю карту, используя листовки, картографию и всеядное. У меня есть.kml файл со списком маркеров на нем. Маркеры загружаются штрафом на рабочем столе с помощью ионного устройства, но не тогда, когда я фактически запускаю его на мобильном устройстве (я тестировал android/ios).
Я знаю, что всеядное загружает этот файл с помощью запроса xhr, поэтому я решил сам это проверить:
test = function() {
$http.get('/kml/file.kml').success(function(data, status, headers, config) {
alert('Success!: ' + status);
})
.error(function(data, status,headers,config) {
alert('FAILURE!: ' + status);
});
}
Я получаю 200 успехов на рабочем столе, но когда я запускаю его на мобильном устройстве с использованием ионного представления или создаю его для Android, я получаю сбой с кодом ошибки 0.
Я не уверен, почему это происходит на мобильных устройствах, у меня есть <access origin="*"/>
в моем config.xml.
Любая помощь будет оценена, спасибо!
Не знаете, какая версия Angular вы используете, но $http.success
и $http.error
устарели (начиная с v.1.4.4, я думаю) и были заменены успехами и функциями обратного вызова ошибок
$http.get('/kml/file.kml').then(
function successCallback(response) {
console.log(response);
}, function errorCallback(error) {
console.log(error);
});
Не уверен, что это ваша проблема, но попробуйте обновить свой угловой и/или изменить свой код и посмотреть, не имеет значения.
Ну, я понял решение. У меня была ведущая косая черта в файле, который читался правильно, когда ионная подача помещала сайт в качестве сервера, но при использовании на мобильном устройстве ionic запускает приложение, используя протокол file://и ведущую косую черту вызывает конфликты.
TL;DR; удалил ведущую косую черту, все хорошо.