Mat*_*Mat 2 javascript openlayers
我希望我的开放图层地图适合整个屏幕.我希望用户能够在里面导航,缩放和拖动它.
这是一个小提琴:http://jsfiddle.net/mhicauber/t8K4p/1/
我的问题是我不明白我在制作地图时给出的一些价值观:
mapLayer = new OpenLayers.Layer.Image(
'My map',
'http://tchanca.com/private/Masse1080.jpg',
OpenLayers.Bounds.fromString("-160,-90.0,160,90.0"), new OpenLayers.Size(screenSize.width, screenSize.height), {
maxExtent: OpenLayers.Bounds.fromString("-160,-90.0,160,90.0")
});
Run Code Online (Sandbox Code Playgroud)
使用这些值,用户可以将地图的一部分拖出屏幕.如果我将maxExtent值更改为0,0,0,0,那么,map将包含在屏幕中,并且不能拖到外面但是只要我放大,我就无法拖动地图.
有什么-160,-90.0,160,90.0价值可以参考?我应该用什么代码:
非常感谢你.请原谅我对制图学缺乏了解,我对这个问题很不错...
Blu*_*oid 12
对于那些来到这里并使用OpenLayers 3的人来说,这里有一些可能有用的信息.
没有更多的限制范围.相反,您必须在图层和视图中设置"范围"选项.
也没有更多的OpenLayers.Bounds.而是使用ol.extent,这是一个包含4个值的数组.
例:
var maxExtent = ol.proj.transformExtent([-122.445717,47.576989,-122.218094,47.71623], 'EPSG:4326', 'EPSG:3857')
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.Stamen({
layer: 'watercolor'
}),
extent: maxExtent
}),
new ol.layer.Tile({
source: new ol.source.Stamen({
layer: 'terrain-labels'
}),
extent: maxExtent
})
],
target: 'map',
view: new ol.View({
center: ol.proj.transform(
[-122.333407, 47.607436], 'EPSG:4326', 'EPSG:3857'),
extent: maxExtent,
zoom: 14
})
});
Run Code Online (Sandbox Code Playgroud)