React中引入原生高德地图

开篇明义,地图就是巨坑的一个东西。百度因为这个文档实在没法看,遂放弃,高德的文档写的的确详细,可惜就是没有关于这个React,Vue之类框架的使用文档.

引入

官网说的很简单,直接在index.html文件里引入一个<script>标签就可以

<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值"></script> 

但是引入后,往往会发现,Amap这个类它不是个构造函数,之类的错误。
其实只要把引入的高德js一定要放在头部[<body>之前]而不是尾部就可以了。。。咱们这个优良的编程习惯都知道把js加载放在最后,结果整这一出(怀疑是加载太慢了,导致最后页面渲染完,这个类没有加进去全局的window里面)

配置

webpack.config.js(如果是用dva框架的话,就找一下.webpackrc)

externals: {
  'AMap': 'AMap'
},

externals选项作用是–从打包的bundle文件中排除依赖。
让在项目中通过import引入的依赖在打包的时候不会打包到bundle包中去,而是通过script的方式去访问这些依赖。

调用

  componentDidMount(){
      let map = new window.AMap.Map('container')
    }
    ...
<div style={{width:650,height:255}} id="container"></div> 

即可看到地图成功渲染出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值