HERE-API:如何在“选择视图”选项中更改图块类型

时间:2019-09-02 10:02:48

标签: javascript here-api

在默认的“此处地图”中,右下角有一个“选择视图”按钮。这可以在许多地图中看到,例如: https://developer.here.com/api-explorer/maps-js/maps/map-at-specified-location

用户可以在“地图视图”和“卫星”之间进行选择。如何更改这两个视图的图块类型?例如,如何将“地图视图”的图块类型更改为“ raster.terrain.xbase”?

当前,我可以在初始化地图时将Tile Type设置为xbase,但是当用户切换视图时,tile类型将被默认值覆盖。

1 个答案:

答案 0 :(得分:0)

对于其他可能遇到相同问题的人:我找到了基于this answer的解决方案,并针对Here Maps 3.1更新了该解决方案。

您可以删除默认的mapSettings并创建自己的H.ui.MapSettingsControl

// remove default mapsettings
ui.removeControl('mapsettings');

// store scalebar
const scalebar = ui.getControl('scalebar');
ui.removeControl('scalebar');

// Create custom mapSettings
const mapSettings = new H.ui.MapSettingsControl({
    baseLayers: [
        {
            label: 'Layer 1',
            layer: defaultLayers.vector.normal.map,
        },
        {
            label: 'Layer 2',
            layer: defaultLayers.raster.terrain.xbase,
        },
    ],
});

// Add Map Settings and scalebar
ui.addControl('custom-mapsettings', mapSettings);
ui.addControl('scalebar', scalebar);

您可以在official documentation中看到,MapSettingsControl接受一个基本图层数组和一个图层数组。 这些图层然后显示在选择视图对话框中。