我怎样才能限制地图只显示选定的国家?
how can i Restrict map to show only the selected country?
我正在尝试使用 openlayers 3 制作 web 地图应用程序。我有一个问题想要解决。
我正在加载 OSM 层作为应用程序的底图。但是 OSM 层的问题是它显示了整个世界,我可以在世界各地平移我的地图。
我希望我的应用程序在某些部分得到修复。我已经设置了地图范围,但仍然不起作用。
我正在使用 minZoom,但没有用。
还有其他方法可以解决这个问题吗?
var centerpos = [84.2, 28.2];
var newpos = ol.proj.transform(centerpos,'EPSG:4326','EPSG:900913');
var baseLayerOSM = new ol.layer.Tile({
source: new ol.source.MapQuest({
layer: 'osm'
}),
isBaseLayer:true
});
var map = new ol.Map({
layers: [baseLayerOSM],
target: 'map',
controls: [new CustomControl()],
view: new ol.View({
extent:[80.05844110726194,26.34796712822462,88.2015218371264,30.44742963310623],
projection : 'EPSG:900913', // OSM projection
center : newpos,
minZoom:7,
zoom: 7
})
});
这是我的代码。
阿杰
基本上您的示例应该有效,但我认为您也忘记了将范围转换为 EPSG:900913 / EPSG:3857。
var maxExtent = [80.05844110726194,26.34796712822462,88.2015218371264,30.44742963310623];
var map = new ol.Map({
layers: [baseLayerOSM],
target: 'map',
controls: [new CustomControl()],
view: new ol.View({
extent: ol.proj.transformExtent(maxExtent, 'EPSG:4326', 'EPSG:900913'),
projection : 'EPSG:900913', // OSM projection
center : newpos,
minZoom:7,
zoom: 7
})
});
我正在尝试使用 openlayers 3 制作 web 地图应用程序。我有一个问题想要解决。
我正在加载 OSM 层作为应用程序的底图。但是 OSM 层的问题是它显示了整个世界,我可以在世界各地平移我的地图。
我希望我的应用程序在某些部分得到修复。我已经设置了地图范围,但仍然不起作用。
我正在使用 minZoom,但没有用。
还有其他方法可以解决这个问题吗?
var centerpos = [84.2, 28.2];
var newpos = ol.proj.transform(centerpos,'EPSG:4326','EPSG:900913');
var baseLayerOSM = new ol.layer.Tile({
source: new ol.source.MapQuest({
layer: 'osm'
}),
isBaseLayer:true
});
var map = new ol.Map({
layers: [baseLayerOSM],
target: 'map',
controls: [new CustomControl()],
view: new ol.View({
extent:[80.05844110726194,26.34796712822462,88.2015218371264,30.44742963310623],
projection : 'EPSG:900913', // OSM projection
center : newpos,
minZoom:7,
zoom: 7
})
});
这是我的代码。
阿杰
基本上您的示例应该有效,但我认为您也忘记了将范围转换为 EPSG:900913 / EPSG:3857。
var maxExtent = [80.05844110726194,26.34796712822462,88.2015218371264,30.44742963310623];
var map = new ol.Map({
layers: [baseLayerOSM],
target: 'map',
controls: [new CustomControl()],
view: new ol.View({
extent: ol.proj.transformExtent(maxExtent, 'EPSG:4326', 'EPSG:900913'),
projection : 'EPSG:900913', // OSM projection
center : newpos,
minZoom:7,
zoom: 7
})
});