我为地图应用程序创建的三个自定义控件存在问题。
根据 API 文档:
API 按索引属性的顺序将控件放置在每个位置;具有较低索引的控件首先放置。例如,位置 BOTTOM_RIGHT 的两个自定义控件将根据此索引顺序布局,较低的索引值优先。默认情况下,所有自定义控件都放置在放置任何 API 默认控件之后。您可以通过将控件的 index 属性设置为负值来覆盖此行为。自定义控件不能放置在徽标的左侧或版权的右侧。
因此,我将三个控件添加到相同的位置,给每个控件一个索引值,并期望它们相应地适合。
当控件第一次加载时,它们彼此重叠,而不是匹配它们各自的索引值。
但是,当我执行诸如悬停在另一个默认控件(例如缩放控件)上的操作时,自定义控件会正确显示。
这是我试图解决的问题:
- 在 CSS 中设置控件的位置(不起作用,因为控件位置只能在包装控件时自定义)
- 延迟添加每个控制按钮的时间
- 尝试触发其他控件的鼠标悬停动作,因为这会手动将控件显示在正确的位置
任何帮助或见解表示赞赏。我知道我提到包装控件允许自定义位置(根据此处),但是有没有其他方法可以让我不这样做?
抱歉,我尝试上传截图,但显然我不够受欢迎。这是一个JsFiddle。
JsFiddle 仅在用户选择了特定输入时才显示我如何添加这些控件:
$('#toggle').on('click', function(){
if ($(this).is(':checked')){
$(pointSelDiv).css('display', 'block');
$(polySelDiv).css('display', 'block');
$(circSelDiv).css('display', 'block');
}else{
$(pointSelDiv).css('display', 'none');
$(polySelDiv).css('display', 'none');
$(circSelDiv).css('display', 'none');
}
});
再次感谢!