在react项目中调用百度地图API的BMap后报错解决方案

我这里是使用了react+typescript技术栈,在./public/index.html文件中引入百度地图项目的文件,就相当于是全局导入了,但是并不能直接使用相关的API。

<script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=应用的key"></script>

需要在使用的文件中这样声明一下,然后就可以直接使用了。

const wins:any = window;
const BMap = wins.BMap;

使用例子:

class MapPage extends React.Component{
    componentDidMount(){
        let map = new BMap.Map("map-wrapper")
        map.addControl(new BMap.NavigationControl()) //开启平移缩放控件
        map.addControl( new BMap.ScaleControl() ) //开启比例尺
        
        let myCity = new BMap.LocalCity()
        myCity.get((result:any)=>{
            let myGeo = new BMap.Geocoder()
            myGeo.getPoint(result.name, function(point:any){      
                if (point) {
                    map.centerAndZoom(point, 16)
                    map.addOverlay(new BMap.Marker(point))
                }
            }, 
            result.name)
        })
    }
    render(){
        return(
            <div>
	            // 需要给地图设置一个高度	
                <div id="map-wrapper" style={{ height:"90vh" }}></div>
            </div>
        )
    }
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值