重新投影静态图像:更新源再次转换图像
Reproject static image: updating source transforms the image again
卡住了……我正在将 png 图像作为静态图像层加载到 OpenStreetMap 上。当我从例如重新投影地图时3857 到 32661 图像也会自动重新投影(这是我想要的),但是当我更新静态图像的源时,图像层会再次转换。转换后的图像再次具有与原始图像一样的矩形形状......令人沮丧......
如何让图像不再变换,而只显示更新后的源(与原始图像具有相同的尺寸,但根据新投影进行变换)。
我有一个图像层 "IMG_LYR",源 "IMG_LYRStaticSource":
IMG_LYRbounds = [45.3, 30.9, -14.6, 72.6]; // LON/LAT
url = "http://localhost/img/myupdatedimg.png";
IMG_LYR = new ol.layer.Image({
source: IMG_LYRStaticSource
});
IMG_LYRStaticSource = new ol.source.ImageStatic({
url: url,
projection: map.getView().getProjection().getCode(),
imageExtent: ol.extent.applyTransform(IMG_LYRbounds, ol.proj.getTransform("EPSG:4326", map.getView().getProjection().getCode()))
});
当我在检查控制台中显示 'projection' 时,确认它是“32661”。我做错了什么??
顺便说一句:我也使用 Proj4 defs!当原始图像和基础地图在设置新投影 32661 时发生变换时,确认了这一点。
只有你的视图投影在改变,静态图像的投影不会改变,就像 OSM 一样它会被视图重新投影。
IMG_LYRStaticSource = new ol.source.ImageStatic({
url: url,
projection: "EPSG:3857",
imageExtent: ol.extent.applyTransform(IMG_LYRbounds, ol.proj.getTransform("EPSG:4326", "EPSG:3857")
});
卡住了……我正在将 png 图像作为静态图像层加载到 OpenStreetMap 上。当我从例如重新投影地图时3857 到 32661 图像也会自动重新投影(这是我想要的),但是当我更新静态图像的源时,图像层会再次转换。转换后的图像再次具有与原始图像一样的矩形形状......令人沮丧......
如何让图像不再变换,而只显示更新后的源(与原始图像具有相同的尺寸,但根据新投影进行变换)。
我有一个图像层 "IMG_LYR",源 "IMG_LYRStaticSource":
IMG_LYRbounds = [45.3, 30.9, -14.6, 72.6]; // LON/LAT
url = "http://localhost/img/myupdatedimg.png";
IMG_LYR = new ol.layer.Image({
source: IMG_LYRStaticSource
});
IMG_LYRStaticSource = new ol.source.ImageStatic({
url: url,
projection: map.getView().getProjection().getCode(),
imageExtent: ol.extent.applyTransform(IMG_LYRbounds, ol.proj.getTransform("EPSG:4326", map.getView().getProjection().getCode()))
});
当我在检查控制台中显示 'projection' 时,确认它是“32661”。我做错了什么??
顺便说一句:我也使用 Proj4 defs!当原始图像和基础地图在设置新投影 32661 时发生变换时,确认了这一点。
只有你的视图投影在改变,静态图像的投影不会改变,就像 OSM 一样它会被视图重新投影。
IMG_LYRStaticSource = new ol.source.ImageStatic({
url: url,
projection: "EPSG:3857",
imageExtent: ol.extent.applyTransform(IMG_LYRbounds, ol.proj.getTransform("EPSG:4326", "EPSG:3857")
});