gpt4 book ai didi

reactjs - 通过 react-yandex-maps 中的坐标获取地址

转载 作者:行者123 更新时间:2023-12-05 06:09:50 26 4
gpt4 key购买 nike

我正在尝试使用 react-yandex-maps 通过坐标获取地址。我知道如何在功能组件中做到这一点。但我真的需要改用类组件。我需要获取 ymap。但是不知道该怎么做。找不到解释清楚的文档。

这是我的代码:

import React, { Component } from 'react'
import { YMaps, Map, ZoomControl, FullscreenControl, SearchControl, GeolocationControl, Placemark } from "react-yandex-maps";

export default class YMap extends Component {
constructor(props) {
super(props)
this.state = {
coords: [],
mapState: {
center: [41.2825125, 69.1392826],
zoom: 9
},
}
}

componentDidUpdate(prevProps, prevState) {
if (prevProps.oldCoords !== this.props.oldCoords) {
this.setState({ coords: this.props.oldCoords })
}
}

onMapClick = (e) => {
const coords = e.get("coords");
this.setState({ coords: coords })
};

render() {
return (
<div>
<YMaps query={{ apikey: "" }}>
<Map
modules={["Placemark", "geocode", "geoObject.addon.balloon"]}
onClick={this.onMapClick}
state={this.state.mapState}
width='100%'
height='500px'
>
{this.state.coords ? <Placemark geometry={this.state.coords} /> : null}
<ZoomControl />
<FullscreenControl />
<SearchControl />
<GeolocationControl />
</Map>
</YMaps>
</div>
)
}
}

最佳答案

如果您要查找点击位置的坐标,您可以从 Map 组件中获取坐标。它像这样返回点击位置的坐标

<Map onClick={(e)=>props.set(e._sourceEvent.originalEvent.coords)}/>

更新状态后,您可以使用坐标放置地标。

关于reactjs - 通过 react-yandex-maps 中的坐标获取地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64626103/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com