我有一张包含在<div id="map" data-tap-disabled="false" style="width: 100%; height: 100%;"></div>
中的传单Map
此页面分为<ion-header>
、<ion-content>
和<ion-footer>
。Map包含在<ion-content>
中。我想做的是用按钮隐藏页眉和页脚。
所以我用L.easyButton
创建了一个按钮。代码如下:
L.easyButton('click',function(){
if(self.hideLayout){
self.map.addControl(setLayers);
self.map.addControl(setZoom);
self.map.addControl(toolBar);
self.map.addControl(setScale);
self.enableAdditionalButtons(textButton, arrowButton);
self.hideLayout = false;
self.hideFooter = false;
self.map.invalidateSize(true);
}else{
self.map.removeControl(toolBar);
self.map.removeControl(setLayers);
self.map.removeControl(setZoom);
self.map.removeControl(setScale);
self.disableAdditionalButtons(textButton, arrowButton);
self.hideLayout = true;
self.hideFooter = true;
self.map.invalidateSize(true);
}
我将以下代码添加到<ion-footer>
中:
<ion-footer *ngIf="!this.mapService.hideFooter">
所发生的情况是,Map不会调整大小,而是保留为白色条带而不是页脚
我尝试使用invalidateSize传单方法,即使使用“setInterval”,但没有成功。我认为有一些关于html和css的编辑,但我还不是一个Maven。
再次,真的感谢大家提前,我希望我是清楚的:)
3条答案
按热度按时间gr8qqesn1#
我会根据你的代码加上我的分数
如果它不起作用,那么你需要提供你的ts代码,因为(self)不太清楚它是像(this)还是u只是共享了函数的一部分...
suzh9iv82#
最后我找到了一个适合我的解决方案。我会把它贴在这里。我要感谢@Mostafa Harb对我的帮助。
在我的例子中,问题出在
<ion-content>
标记中自动创建的带有“scroll-content”类的<div>
。因此,使用getElementsByClassName
,我取数组中的第二个元素,并调整页眉和页脚的顶部边距和底部边距。当然,这种解决办法不会是最佳的,会有更好的办法。
kuarbcqp3#
CSS
HTML
display:flex
相加并设置height
和width