0

我是 Google Maps API 的新手,我正在使用 localhost。我想为用户添加上传 .gpx 文件并在 Google 地图上可视化的功能。

当我对 .gpx 文件进行硬编码时,我发现这个 AJAX 函数工作正常,但是当我尝试从我的计算机导入文件时,我得到了一个短暂的灰色屏幕,然后消失了。

对此问题的任何想法或解决方案都非常受欢迎。

提前致谢。

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
        }
    });
}
4

1 回答 1

0

无法从 JavaScript 访问文件系统。

这是一个安全问题。要解决您的问题,我只能看到一个选项:您应该具有服务器端功能,可以临时存储用户上传的数据。.gpx然后您可以从服务器加载用户定义的文件。

于 2011-11-21T13:42:07.067 回答