使用OpenLayers和自己的OSM服务器在Firefox中不显示地图图块(全粉红色)

kod*_*ode 6 firefox openlayers openstreetmap

我已经设置了自己的OSM服务器,用于提供在应用程序中使用的地图图块.对于应用程序,我使用OpenLayers,并在将代码从slippymap移植到我的应用程序时出现了一个奇怪的问题.基本上我使用相同的代码,对于本地磁贴我设置了我的磁贴服务器的URL.

问题是当切换到Local层时我只看到地图的粉红色层,但是image标签的src属性加载了实际的tile.我尝试使用Firebug去除粉红色层,但在它后面没有图像!从img标签的src属性中复制url会将图块打开为图像.

尝试使用Chrome和本地层工作,在IE 7,8,9中也是如此.问题只出在FF和我怀疑OpenLayers的东西,但不知道是什么.Mapnik层正在工作并在所有浏览器上显示切片.顺便使用HTML5.

任何想法或提示都表示赞赏.

Sha*_*len 11

还有另一种解决方案,不需要在服务器端添加CORS头.您需要为图层配置提供"tileOptions"选项,如下所示:

var layer = new OpenLayers.Layer.OSM("layer name", [urls], {
    "tileOptions": {
        "crossOriginKeyword": null
    }
});
Run Code Online (Sandbox Code Playgroud)

Layer.OSMTile.Image的OpenLayers文档告诉你如何做到这一点,但是没有提到默认值会导致Firefox出现问题.