Класс UI Control ZOOM в ЗДЕСЬ КАРТАХ - PullRequest
0 голосов
/ 29 марта 2020

При размещении регулятора 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"); 
        }
    }
});

Но: есть ли элегантный способ?

Ответы [ 2 ]

0 голосов
/ 31 марта 2020

Существует разница между выравниванием LEFT_TOP и TOP_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);

Примечание : Вы не должен указывать параметр в виде простой строки, например: 'left-top'. Это не безопасно.

0 голосов
/ 31 марта 2020

API Карт поддерживает изменение положения элементов управления пользовательского интерфейса. В следующем примере все элементы управления картой перемещаются в верхний левый угол области просмотра карты.

Код расширяет предыдущий пример, получая экземпляр каждого из элементов управления пользовательского интерфейса по умолчанию, а затем устанавливая выравнивание на элементы управления в верхнем левом углу.

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

...