我使用openlayers3来构建应用程序
我想更改缩放级别图标在
处可见https://bestofosm.org/?lon=4.0798&lat=50.9136&zoom=15#interesting-het-loo-garden
例如
如果你去伦敦,你会看到机场在zoomlevel 10上可见
假设我想在zoomlevel 10上看到所有旅游图标 和zoomlevel 15的机场图标 这有可能吗?
答案 0 :(得分:0)
最简单的解决方案是将标记放在不同的图层中,并为每个图层指定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());
});