[放置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");
}
}
});
但是:有一种优雅的方法吗?
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
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);
Note:您不应将参数指定为简单字符串,例如:“ left-top”。这不安全。
好大。不是很严格的4me。谢谢。问候克里斯