这里的UI控件ZOOM的类

问题描述 投票:0回答:2

[放置ZOOm控件时,例如在右上角,“ +”和“-”并排。但是,如果我想让它们彼此重叠,该怎么办?我做了一个“坏”的代码,它可以工作:

$(".H_l_anchor.H_l_horizontal").each(function(index) {          
    if($(this).html().length>0) {
        if($(this).html().indexOf("H_ctl H_el H_zoom H_grp")>0) {
            $(this).removeClass("H_l_anchor H_l_horizontal").addClass("H_l_anchor H_l_vertical"); 
        }
    }
});

但是:有一种优雅的方法吗?

javascript here-api
2个回答
0
投票

Maps API支持更改UI控件的位置。在以下示例中,所有地图控件都移至地图视口的左上角。

该代码通过获取每个默认UI控件的实例,然后将控件的对齐方式设置到左上角,扩展了前面的示例。

var mapSettings = ui.getControl('mapsettings');
var zoom = ui.getControl('zoom');
var scalebar = ui.getControl('scalebar');

mapSettings.setAlignment('top-left');
zoom.setAlignment('top-left');
scalebar.setAlignment('top-left');

请参考setAlignment更多选项:https://developer.here.com/documentation/maps/api_reference/H.ui.Control.html#setAlignment

查找有关控件对齐的详细信息:https://developer.here.com/documentation/maps/dev_guide/topics/map-controls-ui.html


0
投票

LEFT_TOPTOP_LEFT对齐之间存在差异。在这里您可以看到解释的对齐方式:https://developer.here.com/documentation/maps/3.1.12.0/api_reference/H.ui.Control.html#setAlignment

您想要的是LEFT_TOP,所以:

ui.getControl('zoom').setAlignment(H.ui.LayoutAlignment.LEFT_TOP);

Note:您不应将参数指定为简单字符串,例如:“ left-top”。这不安全。


0
投票

好大。不是很严格的4me。谢谢。问候克里斯

© www.soinside.com 2019 - 2024. All rights reserved.