如何将.gpx文件从localhost上传到谷歌地图(v3)?

时间:2011-11-21 11:36:31

标签: google-maps file-upload google-maps-api-3 gpx

我是Google Maps API的新手,我正在使用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 :(得分:0)

无法从JavaScript访问文件系统。

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