传单无法正确缩放到移动设备
Leaflet not scaling correctly to mobile devices
我在缩放传单地图以适应移动设备时遇到问题。我正在使用 React、Leaflet(+React-Leaflet) 和 OpenStreetMaps 构建应用程序。
如果我将页脚或缩放控件等组件放在屏幕底部,它们会显示一半或根本不显示,因为它们隐藏在移动设备菜单后面。
举个例子。
Web version
Mobile version
在这种情况下,缩放控件组件根本不会出现在移动版本中。例如,如果我将地图高度 属性 更改为 90vh,它会再次出现。
Mobile version with 90vh
当然现在它可以工作了,但是看起来很丑而且没有响应。我该如何解决这个问题?
我已经关注了这个 example,但它似乎没有帮助。
我解决了这个问题。以防将来其他人遇到同样的问题,这是我的解决方案。
当您向地图组件添加 css 属性时,不要使用“height: 100vh;”,而是使用“height: 100%;”如此 example 所示。您应该使用设置为固定位置或绝对位置的包装器容器,以使高度 100% 正常工作。这是一个例子:
渲染地图组件
<div className="map-wrapper">
<Map/>
</div>
CSS
.map-wrapper {
width: 100%;
height: 100%;
position: fixed;
}
.map {
width: 100%;
height: 100%;
position: relative;
}
我在缩放传单地图以适应移动设备时遇到问题。我正在使用 React、Leaflet(+React-Leaflet) 和 OpenStreetMaps 构建应用程序。
如果我将页脚或缩放控件等组件放在屏幕底部,它们会显示一半或根本不显示,因为它们隐藏在移动设备菜单后面。
举个例子。
Web version
Mobile version
在这种情况下,缩放控件组件根本不会出现在移动版本中。例如,如果我将地图高度 属性 更改为 90vh,它会再次出现。
Mobile version with 90vh
当然现在它可以工作了,但是看起来很丑而且没有响应。我该如何解决这个问题?
我已经关注了这个 example,但它似乎没有帮助。
我解决了这个问题。以防将来其他人遇到同样的问题,这是我的解决方案。
当您向地图组件添加 css 属性时,不要使用“height: 100vh;”,而是使用“height: 100%;”如此 example 所示。您应该使用设置为固定位置或绝对位置的包装器容器,以使高度 100% 正常工作。这是一个例子:
渲染地图组件
<div className="map-wrapper">
<Map/>
</div>
CSS
.map-wrapper {
width: 100%;
height: 100%;
position: fixed;
}
.map {
width: 100%;
height: 100%;
position: relative;
}