我最近一直在使用mapbox.js开发一个工作的Web地图项目。我最近将它部署到我们的内部测试站点。执行此操作后,基本地图不再从Mapbox加载并留下白色背景,只有我的自定义图层处于活动状态。我在控制台中收到以下错误。
XMLHttpRequest无法加载http://a.tiles.mapbox.com/v4/mapbox.streets-basic.json?access_token=pk.myaccestokenhere。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://mytest.site”访问。
我尝试将tileLayer的crossOrigin选项设置为'true'但我仍然收到相同的错误。以下是无法加载的图层的代码段。我需要了解如何解决此问题。
//Base layers object that contains all mapbox base layers.
var baseLayers = {
'Dark': L.mapbox.tileLayer('mapbox.dark', {crossOrigin: true}),
'Light': L.mapbox.tileLayer('mapbox.light', { crossOrigin: true }),
'High-contrast': L.mapbox.tileLayer('mapbox.high-contrast', { crossOrigin: true }),
'Streets': L.mapbox.tileLayer('mapbox.streets', { crossOrigin: true }),
'Streets-basic': L.mapbox.tileLayer('mapbox.streets-basic', { crossOrigin: true }),
'Satellite & Streets': L.mapbox.tileLayer('mapbox.streets-satellite', { crossOrigin: true }),
'Outdoors': L.mapbox.tileLayer('mapbox.outdoors', { crossOrigin: true })
};
baseLayers.Dark.addTo(map, true);
L.control.layers(baseLayers, overlays).addTo(map);
答案 0 :(得分:0)
原来我们的网络管理员在我们的主办公室有一个网络拦截器,它正在剥离请求中的标题。我们为它添加了一个例外,它现在正常工作。