reactjs中使用高德地图计算两个经纬度之间的距离
第一步下载依赖
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>
)
}
}
最后效果图如下

reactjs中使用高德地图计算两个经纬度之间的距离的更多相关文章
- IOS 计算两个经纬度之间的距离
IOS 计算两个经纬度之间的距离 一 丶 -(double)distanceBetweenOrderBy:(double) lat1 :(double) lat2 :(double) lng1 :(d ...
- 计算两个经纬度之间的距离(python算法)
EARTH_REDIUS = 6378.137 def rad(d): return d * pi / 180.0 def getDistance(lat1, lng1, lat2, lng2): r ...
- java计算两个经纬度之间的距离
/** * 计算点 是否在一个固定点的半径范围内 * @2016年10月20日 * @param a 经度1 已知 * @param b 纬度1 已知 * @param x 经度2 * @param ...
- java如何计算两个经纬度之间的距离?
/*计算两个经纬度之间的距离 结果单位:米 */public static double getDistance(String lat1Str, String lng1Str, String lat2 ...
- 高德地图 API 计算两个城市之间的距离
1. 目前在项目中,遇到一个需求不会做,就是要计算两个城市之间的距离,而这两个城市的输入是可变的,如果要使用数据库来先存储两地之间的距离,调用的时候再来调用,那么存数据的时候,要哭的,因为光是省级区域 ...
- Java计算两个经纬度间的距离最简单的方式
开发中经常会遇到计算两个点(经纬度)之间的距离或者计算最近门店的场景,下面简单实现一下如何计算两个经纬度之间相隔的距离. 1.导入geodesy的maven依赖 或者到阿里云maven仓库下载jar包 ...
- PHP MYSQL 搜索周边坐标,并计算两个点之间的距离
搜索附近地点,例如,坐标(39.91, 116.37)附近500米内的人,首先算出“给定坐标附近500米”这个范围的坐标范围. 虽然它是个圆,但我们可以先求出该圆的外接正方形,然后拿正方形的经纬度范围 ...
- PHP计算两个坐标之间的距离
<?php /** * 计算两点之间的距离 * @param $lng1 经度1 * @param $lat1 纬度1 * @param $lng2 经度2 * @param $lat2 纬度2 ...
- iOS 百度地图计算两个点时间的距离
最近在解项目bug,更新地位城市的时候有个错误,后来想在位置改变多少距离之后,再取更新位置,这个功能去年做过.但是又忘记了! 所以还是记录一下吧. 百度地图提供了一个方法: BMKMapPointFo ...
随机推荐
- python让实例作用于for循环并当做list来使用
python如果想让一个类被用于for....in 循环,类型list和tuple那样,可以实现__iter__方法. 这个方法返回一个迭代对象,python的for循环就会不断调用该迭代对象的ne ...
- Mysql Window 解压版卸载
windows如何彻底卸载mysql 如何彻底删除mysql 1.首先在windows服务中将mysql服务删掉,使用命令 sc delete mysql 2.在控制面板中卸载掉mysql. 3.清理 ...
- 如何在Linux下修改Mysql的用户(root)密码
下面给大家分享下在Linux下如何修改Mysql的用户(root)的密码,分两种情况:第一种当拥有原来的mysql的root密码,第二种情况忘记原来的mysql的root的密码. 修改的用户都以roo ...
- Python判断列表是否已排序的各种方法及其性能分析
目录 Python判断列表是否已排序的各种方法及其性能分析 声明 一. 问题提出 二. 代码实现 2.1 guess 2.2 sorted 2.3 for-loop 2.4 all 2.5 numpy ...
- [Golang] 开源一个帧同步服务器
具体看README吧 https://github.com/bailu1901/lockstepserver
- cs231n笔记 (一) 线性分类器
Liner classifier 线性分类器用作图像分类主要有两部分组成:一个是假设函数, 它是原始图像数据到类别的映射.另一个是损失函数,该方法可转化为一个最优化问题,在最优化过程中,将通过更新假设 ...
- sendmail邮件自动发送
配置邮件自动发送: 1.安装软件 yum -y install sendmail mailx 2.发送邮件的邮箱授权 eg:y******@126.com 网页网易云邮箱登陆 --> 设置 -- ...
- 浏览器(或客户端)触发,后台运行php脚本
既我从浏览器这端触发服务器上的php脚本,要想让服务器端的php脚本一直执行,我得把该网页一直开着,这样就达不到我不开电脑不开网页进行爬取的目的,因此查找了些资料,得知 ignore_user_abo ...
- APP安全在线检测
腾讯金刚审计系统 http://service.security.tencent.com/kingkong 免费 无限制 腾讯御安全 http://yaq.qq.com/ 免费 查看漏洞详情需认证 阿 ...
- 25.redux回顾,redux中的action函数异步
回顾:Redux: 类似于 Vuex 概念:store/reducer/action action:动作 {type,.....} 一定要有type 其他属性不做限制 reducer:通过计算产生st ...