Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jsonp的跨域javascript_Javascript_Jquery_Jsonp_Subdomain - Fatal编程技术网

使用jsonp的跨域javascript

使用jsonp的跨域javascript,javascript,jquery,jsonp,subdomain,Javascript,Jquery,Jsonp,Subdomain,我正在使用我网站上的来显示谷歌地图中的.gpx文件。它在普通域中工作得很好,但在使用动态创建的子域时却不行。正如脚本所说,在搜索stackoverflow和google之后,我很确定这是由。在进一步搜索之后,我认为我需要使用jsonp解决这个问题(例如)。然而,我的javascript/jquery很糟糕,所以我不确定jsonp是否能工作,在阅读了一些jsonp教程之后,我仍然不知道如何实现jsonp,以便让gpxviewer在我的子域上工作。我的代码: <script type='tex

我正在使用我网站上的来显示谷歌地图中的.gpx文件。它在普通域中工作得很好,但在使用动态创建的子域时却不行。正如脚本所说,在搜索stackoverflow和google之后,我很确定这是由。在进一步搜索之后,我认为我需要使用jsonp解决这个问题(例如)。然而,我的javascript/jquery很糟糕,所以我不确定jsonp是否能工作,在阅读了一些jsonp教程之后,我仍然不知道如何实现jsonp,以便让gpxviewer在我的子域上工作。我的代码:

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script>
<script type='text/javascript' src='http://maps.google.com/maps/api/js?sensor=false'></script>
<script src='absolute path to loadgpx.js' type='text/javascript'></script>
<script type='text/javascript'>
    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(2); // 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
            }
        });
    }
    $(document).ready(function () {
        var mapOptions = {
            zoom: 8,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById('map'), mapOptions);
        loadGPXFileIntoGoogleMap(map, 'absolute path to .gpx file');
    });
</script>
<div id='map' style='width: 553px; height: 280px'></div>

函数loadGPXFileIntoGoogleMap(映射,文件名){
$.ajax({
url:filename,
数据类型:“xml”,
成功:功能(数据){
var parser=新的GPXParser(数据,映射);
parser.setTrackColor('#ff0000');//设置轨迹线颜色
parser.setTrackWidth(2);//设置磁道线宽
parser.setMinTrackPointDelta(0.001);//设置轨迹点之间的最小距离
解析器.centerAndZoom(数据);
parser.addTrackPointToMap();//添加跟踪点
parser.addWayPointToMap();//添加路径点
}
});
}
$(文档).ready(函数(){
变量映射选项={
缩放:8,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById('map'),mapOptions);
loadGPXFileIntoGoogleMap(映射,.gpx文件的绝对路径);
});

任何帮助都将不胜感激。

您必须使用JSONP文件的URL而不是GPX文件(并告诉jQuery您希望使用JSONP而不是XML)。