在默认的“此处地图”中,右下角有一个“选择视图”按钮。这可以在许多地图中看到,例如: https://developer.here.com/api-explorer/maps-js/maps/map-at-specified-location
用户可以在“地图视图”和“卫星”之间进行选择。如何更改这两个视图的图块类型?例如,如何将“地图视图”的图块类型更改为“ raster.terrain.xbase”?
当前,我可以在初始化地图时将Tile Type设置为xbase,但是当用户切换视图时,tile类型将被默认值覆盖。
答案 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接受一个基本图层数组和一个图层数组。 这些图层然后显示在选择视图对话框中。