我已经部署了一个本地openstreetmap磁贴服务器并尝试多次使用openlayers3显示地图,但遗憾的是失败了。 这是我的实验场景。 我在端口80上部署了tile服务器,并通过http://127.0.0.1:80/osm_tiles/ {z} / {x} / {y} .png正确获取图像。此外,我在端口8099上放置了一个django网站,我可以通过http://127.0.0.1:8099/my/page访问该网页。在模板页面中,我写得像这样
var layer = new ol.layer.Tile({
source: new ol.source.OSM({
attributions: [
ol.source.OSM.ATTRIBUTION
],
url:'//127.0.0.1:80/osm_tiles2/{z}/{x}/{y}.png'
})
});
var map= new ol.Map({
target : 'map_canvas',
loadTilesWhileAnimating: true,
view: new ol.View({
center:ol.proj.transform([116.391625,39.906813], 'EPSG:4326', 'EPSG:3857'),
zoom : 12
}),
layers:[layer]
});

map_canvas什么都没显示,但是我可以从firebug.WHY中的tile服务器获取图像? 帮助我,非常感谢!
答案 0 :(得分:1)
尝试将crossOrigin: null
添加到源中,如下所示:
var layer = new ol.layer.Tile({
source: new ol.source.OSM({
attributions: [
ol.source.OSM.ATTRIBUTION
],
url:'//127.0.0.1:80/osm_tiles2/{z}/{x}/{y}.png',
crossOrigin: null
})
});