【发布时间】:2016-02-04 08:51:41
【问题描述】:
我在使用 OpenLayers 正确定位图像时遇到问题。我有一个网络软件,如何在网页上创建 KML 文件或显示地图。
这里是 Google 地球上地图显示的屏幕截图,以及与 openlayers 相同的显示,(Google 地球是很好的可视化)。 地图在北方有点拉长
什么是假的? epsg转换?我需要用 gdalwarp 重建图像吗?
这是我的代码示例
function ConvertLonLatFromESPG4326ToESPG900913(LonLat) {
var lonlatTransforme = LonLat.clone();
if (map == null) {
lonlatTransforme.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"));
}
else {
lonlatTransforme.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection(map.getProjectionObject().projCode));
}
return lonlatTransforme;
}
var bounds = new OpenLayers.Bounds();
bounds.extend(ConvertLonLatFromESPG4326ToESPG900913(new OpenLayers.LonLat(y1, x1)));
bounds.extend(ConvertLonLatFromESPG4326ToESPG900913(new OpenLayers.LonLat(y2, x2)));
var graphic = new OpenLayers.Layer.Image(
nomImage,
url,
bounds,
new OpenLayers.Size($("#map").width(), $("#map").height()),
{
//http://www.forumsig.org/showthread.php?t=26393
maxResolution: map.layers[0].resolutions[0],
resolutions: map.layers[0].resolutions,
isBaseLayer: false,
displayInLayerSwitcher: true
}
);
map.addLayer(graphic);
感谢您的帮助
【问题讨论】:
-
图像边界错误。 OpenLayers.Layer.Image 边界或图像文件边界。如果你没有使用 OpenLayers 变换函数,那么 ConvertLonLatFromESPG4326ToESPG900913 也可能是错误的!
-
因为图像没有边框,所以在捕获时很难看到,但在这个小提琴上你可以获得更多信息:jsfiddle.net/seb49/cdmsud7m
标签: openlayers kml