繁体   English   中英

OpenLayers最小缩放比边框小

[英]OpenLayers minimal zoom smaller than bounding box

我在osm和openlayers上遇到了问题。 首先,我的地图对象

var wgs84 = new OpenLayers.Projection("EPSG:4326");
var map = new OpenLayers.Map ('map',
    {
    projection: new OpenLayers.Projection("EPSG:900913"),
    displayProjection: wgs84,
    maxExtent: new OpenLayers.Bounds(-180,-20, 180, 90),
    controls: [
    new OpenLayers.Control.MousePosition(),
    new OpenLayers.Control.PanZoomBar(),
    ]
    }); 

如您所见,我的边界框在-20处结束,因此应该显示南极洲。

但我可以缩小地图以便看到整个世界,并且地图比map-div(900 * 500)小。

有解决方案吗? 您应该无法获得比边界框所允许的更小的地图。

您是否实现了strictedExtent参数?

(来自文档)limitedExtent

{OpenLayers.Bounds}尽可能将地图导航限制在此范围内。 如果设置了非空的strictExtent,则平移将限制在给定的范围内。 此外,缩放到显示超出限制范围的分辨率将使地图在限制范围内居中。

请在此处查看示例 -这样可以停止平移边界,但不会限制缩放级别。 这似乎是大量报道的缺少许多解决方案的功能。

我相信,尽管OpenLayers中的“最小最大缩放”级别使该SO帖子具有一些解决方法,

希望我有所帮助。

看一下我在http://beta1234.com.sunflower.arvixe.com/maps/上所做的示例(服务器有点慢)。 它使用restrictedExtent和受限缩放级别。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM