我试图使用openlayers v3.4.0来显示一些地理信息。 我的地图是这样创建的:
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'osm'})
})
],
view: new ol.View({
center: [0, 0],
zoom: 1,
minZoom: 1,
projection: 'EPSG:3857'
})
});
var pl = new ol.layer.Vector({...});
map.addLayer(pl);
它显示我需要显示的信息,一切都会好,但是如果你滚动,你可以滚动不定数量到两侧并且标记的信息不被绘制。 例如,如果我标记伦敦(带点或多边形)并使用鼠标向右滚动地图直到另一个英国在地图上,则伦敦没有标记。
所以我想要做的是将预览区域限制为1个世界,这样你就无法滚动。我发现"范围"应该限制区域,但找不到如何正确使用它。
答案 0 :(得分:0)
您可以使用view.fitExtent()
方法应用给定范围。以下是一个示例:http://acanimal.github.io/thebookofopenlayers3/chapter01_03_fit_extent.html
这只是设置了一个新的范围,如果你想限制某个区域,你必须使用constrain*
方法。您还可以使用min/maxZoom
和min/maxResolution
禁止缩放。