从Mapbox.js使用'LoadURL()'时出现“交叉原始请求错误”

时间:2016-01-21 16:11:35

标签: javascript mapbox geojson

我从这篇文章中得到了这段代码: http://lyzidiamond.com/posts/external-geojson-mapbox/

代码:

var filterLayer = L.mapbox.featureLayer()
.loadURL('data.geojson')
.addTo(map);

我正在尝试按照这个为placemarkkers创建过滤器的Mapbox.js示例: https://www.mapbox.com/mapbox.js/example/v1.0.0/filtering-marker-clusters/

当我复制整个示例时,我根本没有看到任何地方标记,就像上面链接中的示例一样。所以我决定加载我自己的geoJson文件。

因此我使用前面输入的代码来加载我自己的geoJson文件。但是当我检查元素时,我得到了这个错误:

XMLHttpRequest cannot load
file:///C:/Users/username/Documents/website/data.geojson. 
Cross origin requests are only supported for protocol schemes: http, data,    
chrome, chrome-extension, https, chrome-extension-resource.

1 个答案:

答案 0 :(得分:1)

您必须从本地HTTP服务器提供data.geojson,而不是使用file://协议。

例如,您可以使用WAMP服务器并将spike321.github.io目录的内容复制到WAMP公共html路径。

然后你可以打开localhost/spike321.github.io,一切都应该有用。