Ken428965 2022-09-17 15:46 采纳率: 53.6%
浏览 9
已结题

react,百度地图API,chrome浏览器里的container大小取百分比或固定值的问题?

已写的地图组件部分代码如下:

import React from 'react'
import './index.css'
export default class Map extends React.Component {
    // 初始化地图实例
    componentDidMount() {
    // 注意:在react脚手架中全局对象需要使用 window 来访问,否则,会造成ESLint校验错误
      const map = new window.BMapGL.Map("container")
    // 设置中心点坐标
      const point = new window.BMapGL.Point(116.404, 39.915)
    // 初始化地图
      map.centerAndZoom(point, 15)
      // 添加地图类型控件
      // map.addControl(new window.BMapGL.MapTypeControl({
      //   mapTypes:[
      //     window.BMAPGL_NORMAL_MAP,
      //     window.BMAPGL_HYBRID_MAP
      //   ]})
      // )
    }
    render() {
        return <div className='Map'>
            {/* 地图容器元素 */}
            <div id='container'/>
        </div>
    }
}

其中的map和container样式代码如下:

.Map, #container {
    height: 100%;
}

如果height的取值为100%,则空白一片,试过加入 z-index: 1 或 !important 等代码,结果依然空白一片,显示不出地图来:

img

如果height的取值为固定值,如改为500px,则能显示出地图来:

img

然而,虽然能显示出地图来,但如果遇到不同尺寸的屏幕时,会出现半屏、超屏、满屏等不同的情况,请问如何才能实现地图在所有尺寸的屏幕上都满屏显示?

  • 写回答

1条回答 默认 最新

  • 崽崽的谷雨 2022-09-17 20:24
    关注

    写 100 vh 试试 或者 其它相对单位

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月20日
  • 已采纳回答 9月18日
  • 创建了问题 9月17日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分