我使用openlayers3构建应用程序
我想在以下位置更改缩放级别的图标
https://bestofosm.org/?lon=4.0798&lat=50.9136&zoom=15#interesting-het-loo-garden
例如
如果你去伦敦,你会看到机场在10级可见
假设我希望所有的旅游图标在zoomlevel 10可见,机场图标在zoomlevel 15可见,这是可能的吗?
发布于 2017-03-15 09:53:15
最简单的解决方案是将您的标记放在不同的层中,并为每个层提供一个minResolution和maxResolution。当地图超出这些分辨率时,图层将自动隐藏。类似于:
var touristicIcons = new ol.layer.Vector({
source: touristicIconsSource,
minResolution: xx
maxResolution: xx
});
// Repeat for airports layer, with different resolutions
将缩放级别写为分辨率将不起作用。你需要找出属于你想要的缩放级别的分辨率。最简单的方法是使用这个小技巧,它会在你每次滚动地图时记录缩放级别和分辨率:
map.getView().on('change:resolution', function (event) {
var view = event.currentTarget;
console.log('Zoom: ' + view.getZoom() +
', resolution: ' + view.getResolution());
});
https://stackoverflow.com/questions/42789395
复制相似问题