第一步下载依赖
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> ) } }
最后效果图如下