reactjs中使用高德地图计算两个经纬度之间的距离
2024-08-29 19:37:09
第一步下载依赖
npm install --save react-amap
第二步,在组件中使用
import React, { Component } from 'react'
import { Link } from 'react-router-dom'
import { Map, Marker } from 'react-amap'; export default class Page1 extends Component { constructor(){
super();
this.toolEvents = {
created: (tool) => {
this.tool = tool;
}
}
this.mapPlugins = ['ToolBar'];
this.mapCenter = {longitude: 120, latitude: 35};
this.markerPosition = {longitude: 121, latitude: 36};
} render () {
return (
<div style={{height:"100%"}}>
<Map
version={'1.4.4'}//amap版本
amapkey={'注册一个高德地图应用的appkey'}
plugins={this.mapPlugins}
center={this.mapCenter}
zoom={6}
expandZoomRange={true}
zooms={10}
animateEnable={true}
useAMapUI>
<Marker position={this.markerPosition} />
</Map>
</div>
)
}
}
第三步,点击地图上的一点计算两点之间的距离,添加events
import React, { Component } from 'react'
import { Link } from 'react-router-dom'
import { Map, Marker } from 'react-amap'; const events = {
click: (e) => {
var p1 = [116.434027, 39.941037];
var p2 = [e.lnglat.lng,e.lnglat.lat];
var dis=window.AMap.GeometryUtil.distance(p1, p2);
console.log(dis)
},
} export default class Page1 extends Component { constructor(){
super();
this.toolEvents = {
created: (tool) => {
this.tool = tool;
}
}
this.mapPlugins = ['ToolBar'];
this.mapCenter = {longitude: 120, latitude: 35};
this.markerPosition = {longitude: 121, latitude: 36};
} render () {
return (
<div style={{height:"100%"}}>
<Map
version={'1.4.4'}//amap版本
amapkey={'你注册一个高德地图应用的appkey'}
plugins={this.mapPlugins}
center={this.mapCenter}
zoom={6}
expandZoomRange={true}
zooms={10}
animateEnable={true}
events={events}
useAMapUI>
<Marker position={this.markerPosition} />
</Map>
</div>
)
}
}
最后效果图如下
最新文章
- 模块(序列化(json&;pickle)+XML+requests)
- JAVA线程锁-读写锁
- asp.net 发送邮件
- Android——inflate 将一个xml中定义的布局找出来
- InputStream和OutputStream与String之间的转换
- GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流
- Linux Shell编程(2)——第一个shell程序
- Javascript 判断浏览器是否为IE的最短方法
- Ubuntu14.04下安装ZendStudio10.6.1+SVN出现Failed to load JavaHL Library
- mybatis的知识点
- html5中的新标签
- 苹果OS系统安装Xcode方法
- ElasticSearch搜索(一)
- iOS has conflicting provisioning settings 解法
- C# 不添加WEB引用调用WSDL接口
- Steps to install Docker on Manjaro 16.10--转
- spark1.统计句子中特定内容
- 集合框架(06)Arrays
- sweetalert 1.0多次回调函数bug
- github&#160;readme.md&#160;添加图片
热门文章
- mysql表空间加密 keyring encryption
- mysql事务隔离级别及传播机制
- Android 查看蓝牙hci日志
- laravel5.8笔记五:基类控制器和基类模型
- ux.form.field.Year 只能选年的时间扩展
- Centos下普通用户设置sudo权限
- 数据共享Manager
- [LeetCode] Bomb Enemy 炸弹人
- 2017-2018 ACM-ICPC Latin American Regional Programming Contest GYM101889
- python 链表表达式 map、filter易读版