Google maps 如何将.gpx文件从localhost上载到google maps(v3)?

Google maps 如何将.gpx文件从localhost上载到google maps(v3)?,google-maps,file-upload,google-maps-api-3,gpx,Google Maps,File Upload,Google Maps Api 3,Gpx,我是谷歌地图API的新手,现在正在使用localhost。 我想为用户添加上传他们的.gpx文件并在谷歌地图上可视化的功能 我发现当我硬编码.gpx文件时,这个AJAX函数可以正常工作,但是当我试图从我的计算机导入文件时,我得到了一个短时间的灰色屏幕,然后消失了 对于这个问题的任何想法或解决方案都是非常受欢迎的 提前谢谢 function get_file() { var fileInput = document.getElementById("file_upload"); v

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

我发现当我硬编码.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
        }
    });
}

无法从JavaScript访问文件系统


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

好的,谢谢您的快速回答!我将在服务器端继续上传。我正在尝试从服务器加载文件!为什么它不使用动态文件名?有更好的方法吗?嗨,我做了服务器端的上传,它工作得很好,现在我的问题是如何将文件名从php传输到javascript。我认为实现这一点的唯一方法是对javascript变量的回音?有更好的办法吗?谢谢