从 Mapbox.js 使用 'LoadURL()' 时获取 "Cross origin request error"
Getting "Cross origin request error" when using 'LoadURL()' from Mapbox.js
我从这篇文章中得到了这段代码:
http://lyzidiamond.com/posts/external-geojson-mapbox/
代码:
var filterLayer = L.mapbox.featureLayer()
.loadURL('data.geojson')
.addTo(map);
我正在尝试按照这个 Mapbox.js 示例创建地标过滤器:
https://www.mapbox.com/mapbox.js/example/v1.0.0/filtering-marker-clusters/
当我复制整个示例时,我根本看不到任何地标,就像上面 link 中的示例一样。所以我决定加载我自己的 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.
您必须从本地 HTTP 服务器而不是使用 file://
协议为您的 data.geojson
提供服务。
例如,您可以使用 WAMP 服务器并将 spike321.github.io
目录的内容复制到 WAMP public html 路径。
然后您可以打开 localhost/spike321.github.io
,一切都应该正常。
我从这篇文章中得到了这段代码: http://lyzidiamond.com/posts/external-geojson-mapbox/
代码:
var filterLayer = L.mapbox.featureLayer()
.loadURL('data.geojson')
.addTo(map);
我正在尝试按照这个 Mapbox.js 示例创建地标过滤器: https://www.mapbox.com/mapbox.js/example/v1.0.0/filtering-marker-clusters/
当我复制整个示例时,我根本看不到任何地标,就像上面 link 中的示例一样。所以我决定加载我自己的 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.
您必须从本地 HTTP 服务器而不是使用 file://
协议为您的 data.geojson
提供服务。
例如,您可以使用 WAMP 服务器并将 spike321.github.io
目录的内容复制到 WAMP public html 路径。
然后您可以打开 localhost/spike321.github.io
,一切都应该正常。