我从一些数字化的地图图像中制作了一个缩放磁贴集,现在我想使用OL3在网站上显示该地图。但是,我的脚本目前无法从本地文件uri加载该地图(稍后,在生产中,我将在一些Web服务器上上传tiles并使用HTTP引用这些tiles )。这是我到目前为止所知道的:
var url = 'file:///home/user/map_zoomfiy/';
var imgWidth = 17244;
var imgHeight = 9684;
var imgCenter = [imgWidth / 2, - imgHeight / 2];
var proj = new ol.proj.Projection({
code: 'ZOOMIFY',
units: 'pixels',
extend: [0, 0, imgWidth, imgHeight]
});
var source = new ol.source.Zoomify({
url: url,
size: [imgWidth, imgHeight],
crossOrigin: 'anonymous'
});
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: source
})
],
view: new ol.View({
projection: proj,
center: imgCenter,
zoom: 1
})
});
</script>你知道这失败的原因吗?谢谢。
发布于 2014-11-04 12:29:28
这不是正确的方式例如https://developer.mozilla.org/en-US/docs/WebGuide/API/File_System/Introduction#file
我不明白你为什么不做一个本地服务器,而是努力用本地url访问你的文件。
不久前,我编译了some recipes来做到这一点。
发布于 2014-11-21 16:52:11
如果切片位于子目录(例如,tiles_zoomify)中,则应执行以下操作
var url = 'tiles_zoomify/';
var imgWidth = 17244;
var imgHeight = 9684;
var imgCenter = [imgWidth / 2, - imgHeight / 2];
var proj = new ol.proj.Projection({
code: 'ZOOMIFY',
units: 'pixels',
extend: [0, 0, imgWidth, imgHeight]
});
var source = new ol.source.Zoomify({
url: url,
size: [imgWidth, imgHeight],
crossOrigin: 'anonymous'
});
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: source
})
],
view: new ol.View({
projection: proj,
center: imgCenter,
zoom: 1
})
});https://stackoverflow.com/questions/26700380
复制相似问题