如何使用属性' url' of ol.source.OSM

时间:2016-04-19 03:24:46

标签: django openstreetmap openlayers-3

我已经部署了一个本地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服务器获取图像? 帮助我,非常感谢!

1 个答案:

答案 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            
    })
});