我正在使用openlayers 6来渲染贴图。我的地图有一些图层,我想将TIF图像动态添加到地图中作为覆盖。我正在使用mapnik&用于瓦片缓存的mappoxy。我试过这个https://gis.stackexchange.com/questions/97943/how-to-open-geotiff-as-base-layer-on-openlayers但没有起作用。我的代码是:
var map = new Map({
target: 'map',
layers: [
new TileLayer({
title: 'OSM',
source: new OSM(),
opacity: 0.5,
}),
new TileLayer({
title: 'District',
source: new XYZ({
url: "http://127.0.0.1:8080/tms/1.0.0/dist/distgrid" + "/{z}/{x}/{-y}.png",
crossOrigin: "anonymous",
projection:projection,
tileGrid: createXYZ({
extent: extent,
maxResolution: 2605.2421875,
tileSize: [256, 256],
maxZoom: 13,
}),
}),
}),
],
view: new View({
projection: projection,
units:"metric",
extent: extent,
zoom:0,
maxZoom:13,
minZoom:0,
maxResolution:2605.2421875,
center:[654496.136597752,1155181.26900064],
numZoomLevels:13,
})
});
我有一个名为analysis_result.tif
的tif
图像,我想将其覆盖到地图上。当我使用qgis添加它时,它会覆盖在正确的位置。
您可以在geoserver中托管它,然后使用URL来显示它。
tiffRaster = new ol.layer.Image({
title: 'anyName',
source: new ol.source.ImageWMS({
url: 'http://urlOrLocalHost:8080/geoserver/faml/wms',
params: {
'LAYERS': 'faml:' + f
},
ratio: 1,
serverType: 'geoserver'
})
});
在LAYERS
中,将您的名称层与Openlayers 中托管的名称tiff进行比较