Как загрузить файл .gpx с локального хоста на карты Google (v3)? - PullRequest
0 голосов
/ 21 ноября 2011

Я новичок в API Карт Google и работаю над localhost. Я хочу добавить возможность для пользователя загружать свой файл .gpx и визуализировать его на карте Google.

Я обнаружил, что эта функция AJAX прекрасно работает, когда я жестко кодирую файл .gpx, но когда я пытаюсь импортировать файл с моего компьютера, на короткую секунду появляется серый экран, который затем исчезает.

Любая идея или решение этой проблемы приветствуется.

Спасибо заранее.

function get_file() {
    var fileInput = document.getElementById("file_upload"); 
    var filename = fileInput.value; 
    var myOptions = {
    zoom: 8,
    mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    loadGPXFileIntoGoogleMap(map, filename);
}

function loadGPXFileIntoGoogleMap(map, filename) {
    $.ajax({url: filename,
        dataType: "xml",
        success: function(data) {
            var parser = new GPXParser(data, map);
            parser.setTrackColour("#ff0000");     // Set the track line colour
            parser.setTrackWidth(5);            // Set the track line width
            parser.setMinTrackPointDelta(0.001);      // Set the minimum distance between track points
            parser.centerAndZoom(data);
            parser.addTrackpointsToMap();         // Add the trackpoints
            parser.addWaypointsToMap();           // Add the waypoints
        }
    });
}

1 Ответ

0 голосов
/ 21 ноября 2011

Нет способа получить доступ к файловой системе из JavaScript.

Это проблема безопасности.Чтобы решить вашу проблему, я вижу только один вариант: у вас должна быть функциональность на стороне сервера, которая будет временно хранить загруженные пользователем данные.И тогда вы можете загрузить пользовательские .gpx файлы с сервера.

...