【发布时间】:2011-11-21 19:10:08
【问题描述】:
我能够创建一个具有 maxExtent 和 restrictedExtent 属性的 OpenLayers 地图。
我也玩过 WMS 层及其 maxExtent 属性,但是在 WMS 层中使用 singleTile 时会出现问题。
我想要的是有一个 WMS 层,它只从服务器获取一个图像,但限制在我想要的范围内。因为这个我使用了 singleTile=true, ratio=1 和 maxExtend=my_desired_extent。 但它总是请求整个地图视图。
任何想法如何实现它。 提前致谢。
下一个代码显示了一个带有基础图层和成本线图层的地图,我想在 singleTile 模式下使用并限制他们必须向 WMS 请求的范围:
<script type="text/javascript" src="http://openlayers.org/api/2.11/OpenLayers.js"></script>
<div id="map" style="width: 700px; height: 500px;"></div>
<script type="text/javascript">
var map = new OpenLayers.Map("map");
var wms = new OpenLayers.Layer.WMS("OpenLayers WMS Basic", "http://labs.metacarta.com/wms/vmap0",
{
layers: 'basic'
});
map.addLayer(wms);
var restricted = new OpenLayers.Layer.WMS("Coast Line", "http://labs.metacarta.com/wms/vmap0",
{
layers: 'coastline_01,coastline_02'
},
{
opacity: 0.6,
singleTile: true,
ratio: 1,
isBaseLayer: false,
maxExtent: OpenLayers.Bounds.fromString("-10,-90,30,90")
});
map.addLayer(restricted);
map.setCenter(new OpenLayers.LonLat(0,40), 3);
</script>
我正在查看 OpenLayers 源,似乎我想要的没有实现,所以我需要创建一些 WMS 子类或重新定义一些 WM 层方法。 我将不胜感激任何帮助。 谢谢。
【问题讨论】:
-
到目前为止你能分享你的代码吗?那么帮助就容易多了。
-
你解决了吗?如果是,您可以发布解决方案吗?
标签: gis openlayers