在react中使用百度地图

在react中使用百度地图有三种方式

1:首先使用window保存BMap

     1): 在创建好的react项目中的public目录下的index.html中引入<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的ak"></script><script>window.BMap = BMap</script>2):然后在src中新建BaiduMap中加入你需要的百度地图democomponentDidMount () {const {BMap,BMAP_STATUS_SUCCESS,BMAP_ANCHOR_TOP_LEFT}=window;var map = new BMap.Map("allmap");var point = new BMap.Point(116.404, 39.915);map.centerAndZoom(point, 14);map.enableScrollWheelZoom();map.enableInertialDragging();map.enableContinuousZoom();var size = new BMap.Size(10, 20);map.addControl(new BMap.CityListControl({anchor: BMAP_ANCHOR_TOP_LEFT,offset: size,}));var geolocation = new BMap.Geolocation();geolocation.getCurrentPosition(function(r){if(this.getStatus() == BMAP_STATUS_SUCCESS){var mk = new BMap.Marker(r.point);map.addOverlay(mk);map.panTo(r.point);alert('您的位置:'+r.point.lng+','+r.point.lat);}else {alert('failed'+this.getStatus());}        },{enableHighAccuracy: true})}render(){return (<div><div  id='allmap' style={{width:'100vw',height:'100vh'}}></div></div>)}3):在你的入口文件index.js中使用ReactDOM.render(<BaiduMap />, document.getElementById('root'));

2:通过webpack的externals加载BMap使它可以通过require或import引入,在node_modules中react-scripts的webpack.config.dev.js中添加

     module.exports = {/*此处省略了entry,output,modules等配置*/externals:{'BMap':'BMap'},}例子:import React from 'react'import ReactDOM from 'react-dom'import BMap from 'BMap'class BaiduMap extends React.Component {componentDidMount () {var map = new BMap.Map("allmap"); // 创建Map实例map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 初始化地图,设置中心点坐标和地图级别map.addControl(new BMap.MapTypeControl()); //添加地图类型控件map.setCurrentCity("北京"); // 设置地图显示的城市 此项是必须设置的map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放}render () {return (<div><divid='allmap'style={{width:'100vw',height:'100vh'}} /></div>)}}ReactDOM.render(<BaiduMap />,document.getElementById('root'))

3:使用react-bmap

 - 1:首先在react项目中,npm install react-bmap --save- 2:在react的项目的public目录中index.html中加入<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的ak"></script>- 3:例子import React from 'react'import {Map, Marker, NavigationControl, InfoWindow} from 'react-bmap'class BaiduMap extends React.Component{render(){return (<div><div  id='allmap' style={{width:'100vw',height:'100vh'}}><Map center={{lng: 116.402544, lat: 39.928216}} zoom="11"><Marker position={{lng: 116.402544, lat: 39.928216}} /><NavigationControl /> <InfoWindow position={{lng: 116.402544, lat: 39.928216}} text="内容" title="标题"/></Map></div></div>)}}

第一种方式和第三种方式亲测有效,但是第二种在react项目中找不到webpack.config.dev.js,然后去网上找方法的时候,使用npm run eject之后,在config中还是没有,所以第二种方法我自己测试失败,有好的解决方案,可以评论,看见回复

在react中使用百度地图相关推荐

  1. react 中使用百度地图

    安装 安装 在项目文件中打开cmd窗口,然后,使用npm方式安装react组件库. npm install react-bmapgl --save 在你的index.html模板页面头部加载百度地图J ...

  2. React中使用百度地图

    1,找到百度地图首页 进入百度地图开放平台 ,地址如下 百度地图开放平台 | 百度地图API SDK | 地图开发 2.找到开发文档中react-BMapGL 如上图所示,我们进入React-BMap ...

  3. react 使用 leaflet 百度地图_【React】react项目中应用百度地图添加起始点绘制路线...

    如图:项目中百度地图的应用添加起始点.终点并绘制路线 在展示代码的时候首先展示一下后台返回给我的接口 { 其中position_list参数代表的是用户的行驶点, area参数代表的是服务区的坐标点, ...

  4. React native导入百度地图

    开源地址:https://github.com/lovebing/react-native-baidu-map 今天在React native中导入百度地图组件遇到过许多坑,特此写一篇博客记录踩过的坑 ...

  5. react项目使用百度地图API

    文章目录 前言 一.接入API 1.登录百度地图 2.创建应用,获取密钥 3.引入API 4.当作模块导入BMap 二.使用 1.引入 2.展示地图 三.效果展示 总结 前言 最近在开发一款react ...

  6. react+typescript接入百度地图

    前言 本章我们将通过react+typescript的方式给项目接入百度地图 步骤一:注册百度开发者,获取密匙 百度地图开放平台注册成为开发者,进入控制台,创建应用获取AK密钥 步骤二:修改项目的in ...

  7. Android 百度地图开发(一)--- 申请API Key和在项目中显示百度地图

    2019独角兽企业重金招聘Python工程师标准>>> 最近自己想研究下地图,本来想研究google Map,但是申请API key比较坑爹,于是从百度地图入手,其实他们的用法都差不 ...

  8. 在网页中插入百度地图

    在网页中插入百度地图 如果想在自己的网页上面加入百度地图的话,可以用百度地图的api. 第一步:进入百度创建地图的网站http://api.map.baidu.com/lbsapi/creatmap/ ...

  9. 在网页中插入百度地图(实例)

    步骤 1 2 3 如何在网页中插入百度地图呢? 2.切换城市,搜索需标注位置.(如下图 方法/步骤 1.进入:http://api.map.baidu.com/lbsapi/creatmap/(创建地 ...

最新文章

  1. Ubuntu中Could not get lock /var/lib/dpkg/lock解决方案
  2. 在ueditor编辑器的光标停留处插入内容
  3. UVa LA 4253 UVa 1421 Archery 枚举,状态削减,oj错误题目 难度: 1
  4. webplugin 没有画面_[问题记录] webpack devServer HtmlWebpackPlugin 没有加载 js、css
  5. 鸡啄米MFC教程笔记之七:对话框:为控件添加消息处理函数
  6. hadoop编译java,Hadoop源码编译(2.4.1)
  7. 广东发布全国首批“网络视听产业试点机构”名单 虎牙获001号授牌
  8. Tensorflow和Caffe 简介
  9. 使用第三方库iOS-ECharts做柱状图的心得
  10. 阶段3 2.Spring_02.程序间耦合_1 编写jdbc的工程代码用于分析程序的耦合
  11. wine android6,安卓能跑Windows程序,Wine 2.10开发版发布
  12. 傅里叶变换概念及公式推导
  13. ff7重制版青魔法_最终幻想7重制版蒂法全服装获取攻略
  14. Centos7 Firewalld 自定义规则
  15. 游戏数据库数据管理系统开发体会
  16. Island Transport
  17. Havij 1.152 最新破解版
  18. 端口扫描程序设计c语言,主机端口扫描程序设计.doc
  19. 大华监控前端实时预览(DHplayer)官方插件
  20. 相传国际象棋是古印度舍罕王的宰相达依尔发明的.舍罕王十分喜爱象棋,决定让宰相自己选择何种赏赐.这位聪明的宰相指着8*8共64格的象棋说:陛下,请您赏给我一些麦子吧.就在棋盘的第1格放1粒,第2格放2粒

热门文章

  1. 如何运用大数据搭建谷歌竞价账户?做外贸出口
  2. 结构体之选夫婿(冒泡加快排)
  3. 读《一本小小的蓝色逻辑书》:识别常见的逻辑漏洞
  4. AIX6.1上重新安装RAC11G时,ASM无法识别磁盘为Candidate Dsik
  5. 安卓版围棋软件《飞燕围棋》的计划
  6. 复旦大学NLP实验室《自然语言处理导论》 网络初版发布
  7. node.js毕业设计安卓考研学习APP(程序+APP+LW)
  8. 2020届 海康威视面试情况 AI算法工程师(研究院)--7月29号
  9. Pomelo PRC
  10. SpringBoot2.0源码解析一