从 Open Layers Bing Map 中删除默认控件

Remove default controls from Open Layers Bing Map

我正在构建一个使用地理定位的应用程序,该应用程序使用开放层加载 Bing 地图层。我想仅通过触摸来控制缩放,因此想删除默认的缩放按钮。理想情况下,我想至少移动 'i' 按钮,这样它就不会与圆形白色按钮冲突。

这是当前呈现方式的屏幕截图:

所以我说的是白色圆形按钮下面的蓝色按钮。

除了地理定位代码,这就是我添加 Bing 地图层的方式,我假设我会添加代码来删除这些,但我尝试过的一切都没有'有什么不同:

var styles = [
    'Road',
    'Aerial',
    'AerialWithLabels',
    'ordnanceSurvey'
];
var layers = [];
var i, ii;
for (i = 0, ii = styles.length; i < ii; ++i) {
    layers.push(new ol.layer.Tile({
        visible: false,
        preload: Infinity,
        source: new ol.source.BingMaps({
            key: 'my key is here in the real version',
            imagerySet: styles[i],
            disableZooming: true,
            // use maxZoom 19 to see stretched tiles instead of the BingMaps
            // "no photos at this zoom level" tiles
            maxZoom: 19
        })
    }));
}

有人有什么建议吗?

zoom(左上角的加号和减号按钮)和 attribution(右下角的 i 按钮)控件是 ol.Map 配置。为了禁用它们,您可以按如下方式初始化 ol.Map

var map = new ol.Map({
    ...
    controls : ol.control.defaults({
        attribution : false,
        zoom : false,
    }),
    ...
});