react 逆地理 高德地图_react中使用高德地图的原生API
干货,无话
1、react-create-app,创建新react项目;
2、npm install react-amap,引入高德地图的封装;
3、编写组件index.js:
import React from "react";
import ReactDOM from "react-dom";
import Map from "./Map3";
let mapData = {
city: "北京",
mapCenter:[116.418261, 39.921984], //城市定位,经纬度定位只能选择1个
mapZoom: 10, //地图缩放
mapKey: '12345678d98aff1166e51962f108bb24', //你的高德key
status: { //是否支持放大拖拽
zoomEnable: true,
dragEnable: true,
},
mapMaker :[ //marker标记点(list)
{lnglat:[116.401728,39.911984],text:'要显示的内容1'},
{lnglat:[116.436691,39.921984],text:'要显示的内容2'}
],
plugins:['ToolBar']
};
ReactDOM.render(
document.getElementById("root")
);
注意render方法内引用了Map组件,因此要编写一个Map3.js,提供这个组件
4、编写Map3.js组件
import React, { Component } from "react";
import { Map, Marker } from 'react-amap';
import ZoomCtrl from './zoom';
class WebMap3 extends Component {
constructor(props) {
super(props);
this.data = props;
//地图事件
this.amapEvents = {
created: (mapInstance) => {
var marker = new AMap.Marker({
// 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]
position: new AMap.LngLat(116.39, 39.9),
title: '北京!!'
});
mapInstance.add(marker);
}
};
//点位事件
this.markerEvents = {
click: (markerInstance) => {
this.Position = [markerInstance.lnglat.lng,markerInstance.lnglat.lat];
this.setState({
isShow: true,
});
}
};
}
render() {
let {city, mapCenter, mapZoom, mapKey, status, plugins} = this.data.mapData;
return (
{this.data.mapData.mapMaker.map((comment) => (
))}
);
}
}
export default WebMap3;
注意标红部分,会报错
这个是关键! 有两个办法解决,分别见下面的5.1和5.2
5、解决react下找不到原生高德地图AMap类的问题
5.1 方法1
暴力手段,直接搞定。
使用注释 //eslint-disable-next-line 写在每个出现AMap类的前面一行,如下所示
原理是告诉eslint:注释下面这一行您别管。
5.2 方法2
强迫症手段,分为3步。
5.1.1 在项目根目录下新加.eslintrc.js文件,把AMap变量放到globals集合里面
module.exports = {
"env": {
"browser": true,
"es6": true
},
// 脚本在执行期间访问的额外的全局变量
// 当访问未定义的变量时,no-undef 规则将发出警告。
// 如果你想在一个文件里使用全局变量,推荐你定义这些全局变量,这样 ESLint 就不会发出警告了。
// 你可以使用注释或在配置文件中定义全局变量
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly",
"AMap":true,
"window":true,
"document":true,
},
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 2018,
"sourceType": "module"
},
"plugins": [
"react"
],
"rules": {
"semi": ["error","always"],
}
};
注意红色部分代码表示:AMap是个全局变量,是webpack我罩着的,保证能用,eslint你别管。
当然,webpack.config.js要做点修改,以支持我们刚写的.eslintrc.js文件。可是react-create-app生成的项目的webpack.config.js不好找啊,也能找到:
5.2.2 修改 node_modules\react-scripts\config\webpack.config.js文件
在这个文件搜索字符串 useEslintrc, 大概在webpack.config.js文件的第326行,把 useEslintrc: false, 改成 useEslintrc: true, 然后保存。如下所示:
5.2.3 完工
呃
6 验收
在控制台运行npm start,然后访问http://localhost:3000,出现下图表示OK!
7 总结
此方法适用于在react中调用jquery、百度地图、高德地图、OpenLayer、echart等等使用ES5编写的各类控件库。
React中使用百度地图API
今天我们来搞一搞如何在React中使用百度地图API好吧,最近忙的头皮发麻,感觉身体被掏空,所以很久都没来写博客了,但今天我一定要来一篇好吧 话不多说,我们直接开始好吧 特别注意:该React项目是用 ...
基于 React 封装的高德地图组件,帮助你轻松的接入地图到 React 项目中。
react-amap 这是一个基于 React 封装的高德地图组件,帮助你轻松的接入地图到 React 项目中. 文档实例预览: Github Web | Gitee Web 特性 ️ 自动加载高德地 ...
Ionic2系列——在Ionic2中使用高德地图
之前讲过了如何在Ionic2中使用第三方库,因为第三方库必须针对TypeScript提供相应的声明文件——即d.ts文件,才能被TypeScript正确识别并编译.好在大多数的第三方库已经有了定义文件 ...
Vue-Cli 3.0 中配置高德地图
vue 中使用高德地图有两种方式 一.vue-amap 组件 官网: https://elemefe.github.io/vue-amap/#/ 开始的时候是打算用这个组件做地图功能的,但是尝试之后存 ...
Vue组件篇——Vue3.0中使用高德地图
VUE-CLI 3.0 中配置高德地图 在项目开发中,地图组件 1.首先,需要注册高德开放平台的账号,并在[应用管理]页面[创建新应用],为应用添加Key值 高德开放平台:https://lbs.am ...
reactjs中使用高德地图计算两个经纬度之间的距离
第一步下载依赖 npm install --save react-amap 第二步,在组件中使用 import React, { Component } from 'react' import { L ...
vue-cli2.X中引入高德地图,将其设为全局对象
平时一般未用脚手架构建或用webpack构建的项目只要用script标签引入即可,在vue-cli 2.X构建的项目中,需要用如下方式引入高德地图: 首先在高德地图开放平台中注册开发者账号并获取key ...
随机推荐
【后缀数组】【poj2774】【 Long Long Message】
题意: 求两个串的最长连续子串. 我的想法: 枚举第二个串...在第一个串的后缀数组中二分查找. 复杂度NlogN.最坏情况N^2 题解: (3)height 数组:定义height[i]=suffi ...
【高并发架构】Redis特点及构件模型
数据结构 redis 相比 memcached 来说,拥有更多的数据结构,能支持更丰富的数据操作.如果需要缓存能够支持更复杂的结构和操作, redis 会是不错的选择. redis 主要有以下几种数据 ...
深入理解Java内存(图解堆栈)
深入理解Java内存(图解)--转载 深入理解Java内存(图解) 这篇文章是转自http://blog.csdn.net/shimiso/article/details/8595564博文,自己对其 ...
LFYZ-OJ ID: 1009 阶乘和
思路 循环n次,每次计算i的阶乘i!,并加入sum中. n的范围从1~100,这里一定要使用高精度运算,涉及到"高精度乘低精度","高精度加高精度". 避免每次 ...
Django之Ajax刷新记住用户名
使用Cookie方法记住用户名 1.创建登录路由 2.定义登录视图函数 判断cookie中是否存在username,存在就将username渲染到login.html模板页面中 3.进行Ajax验证 ...
聊一聊PV和并发、以及计算web服务器的数量的方法
聊一聊PV和并发.以及计算web服务器的数量的方法 http://www.chinaz.com/web/2016/0817/567752.shtml 最近和几个朋友,聊到并发和服务器的压力问题.很多朋 ...
正向工程configuration配置连接
在执行正向工程的时候需要用到这个关键词里面的configure();方法, 这个方法有好几个重构, 都是参数不一样的, 也可以空着不写, 不写的话就会默认去找hibernate.cfg.xml这个文件 ...
【优化】Filddler用于移动端
Fiddler是一个非常强大的Web调试工具,它能捕获所有客户端和服务器的http和https请求,我们可以对请求监视.设置断点,也能修改输入输出数据,这些特性使得Fiddler成为广大web开发者的 ...
OpenGL学习--01--打开一个窗口
// Include standard headers #include #include // Include GLEW #incl ...
Entity Framework for Oracle 基本配置
1.需要安装ODAC 如果不安装ODAC,在数据源连接的配置中,看不到Oracle的选项 我下载安装的组件是32-bit Oracle Data Access Components (ODAC) w ...
react 逆地理 高德地图_react中使用高德地图的原生API相关推荐
- react 逆地理 高德地图_React 高德地图(一)
由于从 Vue 切换到 React,就一直在学习React. 最近项目需要在React中使用地图 1.快速使用 2.使用高德原生API (1)先看看快速使用 先引入地图组件 npm install - ...
- react 逆地理 高德地图_高德官宣!海外地图服务年内上线:首批覆盖亚洲多个国家...
1月8日消息,在2020CES期间,高德与HERE Technologies(以下简称"HERE地图")共同宣布,双方将基于海外地图及动态信息服务展开合作. HERE地图将为高德地 ...
- python调用百度地图api定位_逆地理编码 rgc 反geo检索 | 百度地图API SDK
使用方法 如不访问境外POI,走以下服务使用流程 编码说明 API请求中需要用到中文或一些特殊字符的参数,如query.region等,为了避免提交到后台乱码,需要对这几个参数值进行编码处理,转换成U ...
- java逆地理编码通过经纬度转换为地理位置(通过百度开发API)
java通过经纬度获取地理位置信息 先看效果图 百度API接口文档地址 (1)首先需要百度开发者账号创建一个应用得到ak (2)java部分实现 @Component @ConfigurationPr ...
- react 逆地理 高德地图_在react中使用原生的高德地图
1.使用react-create-app创建一个新的react项目 2.修改index.html,添加以下script引用: 3.创建一个组件文件MapDemo.js,内容如下 import Reac ...
- react 逆地理 高德地图_react高德地图默认卫星图设置
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 react高德地图的话组件可以会有些缺失,所以我们需要参考官网的Geocoder 的引入做参考,目前突然说需要高德地图默认卫星,react-amap,压根 ...
- react 逆地理 高德地图_高德地图又出逆天黑科技!全国各大城市模型直接获取...
本文转自:公众号"设计气象台" 作者:爱敷面膜的台小妹 高德地图可以做区位分析,想必你应该都知道了. (▲ 高德地图"原配"色系) 但是最近发现,高德地图又新出 ...
- react大数据量渲染_React 中的状态自动保存(KeepAlive)
什么是状态保存?假设有下述场景:移动端中,用户访问了一个列表页,上拉浏览列表页的过程中,随着滚动高度逐渐增加,数据也将采用触底分页加载的形式逐步增加,列表页浏览到某个位置,用户看到了感兴趣的项目,点击 ...
- react多个网络请求_react中网络请求的优化!
react中网络请求的优化! 在页面跳转的时候 我会去检查一下 redux中是否存在我需要的值 如果没有 我再去调用接口 如果有的话 那我就不去发网络请求: 如果上个接口挂掉了, 那么我下个接口就不发 ...
最新文章
- 团队工具_「管理工具」部门有效管理的5个工具,打造高效团队
- 2018年看好这些半导体企业
- HDU 4768 Flyer(二分法)
- linux ping 端口_教你排除linux中网络故障问题
- (译)Windsor入门教程---第三部分 编写第一个Installer
- A - Divisors POJ - 2992 (组合数C的因子数)数学—大数
- 服务器系统记事本乱码,记事本乱码完美解决修复教程
- 用java创建一个类cat_包含属性name在构造方法中进行初始化_JAVA练习题
- android timepicker 设置颜色,android – 更改TimePicker文本颜色
- 批量替换 Word 文档某几页
- C#字节数组与字符串相互转换代码案例
- Firefox os
- 手把手教你接入快应用账号开发-客户端方式
- 麻省理工学院|软件构造|课程翻译
- 微信小程序富文本标签 rich-text 图片自适应大小问题
- hangfire-简单开始
- 最强汉字得到首字母拼音java版
- 集采供应链金融系统-完整的实现了境内 外采购业务的运营和管理
- HEVC编码框架和main函数代码跟踪解读
- SQL数据库的组合查询和统计查询
热门文章
- 什么是JIT,JDK17移除了JIT?
- 10年后重温《我奋斗了18年才和你坐在一起喝咖啡》
- Java 公历转农历,然后农历减一年(或者几天或者任意天),再把这个日期转成公历
- 打开Visual Studio Community 2017 报出“许可证已过期”
- 推特开发者 推特 oauth1.0a 授权【推特开发者文档系列12】
- 荣耀路由2 虚拟服务器,华为荣耀路由器2怎么设置? | 192路由网
- Python批量统计数据分布的偏度并画图
- 韩:已撤销慰安妇财团法人资格 将启动清算程序
- 如何使用TensorFlow Hub和代码示例
- linux 下的lsb_release -a 命令查询系统版本