如何<Marker>从 <Map> react js 中删除现有组件?



>我有以下返回:

import {Map, Marker} from 'google-maps-react';
class SimpleMap extends Component{ 
constructor(props) {
super(props);
this.state = {
marker: {
available: false,
position: {
lat: lathere,
lng: lnghere
}
}
};
}
onClick = (t, map, coord) => {
const {latLng} = coord;
let {marker} = this.state;
marker.position.lat = latLng.lat();
marker.position.lng = latLng.lng();
this.setState({marker});
};
render(){
const {marker} = this.state;
return (<Map
google={this.props.google}
zoom={8}
initialCenter={{position here}}
onClick={this.onClick}>
<Marker position={marker.position}/>
</Map>);
}}

再次单击地图时如何删除当前标记?我已经搜索了一些解决方案,但是在每个解决方案中,都有使用new google.maps.map&new google.maps.marker实例化的对象,这些对象保存为全局变量,并使用从一个到另一个的引用,以便它们可以删除标记的映射。如何在 ReactJS 中做到这一点?

由于 HMehmood1 在这里的回答而解决。您只需要在<Marker>中显式添加latlng即可。例如:

<Marker position={{ lat: marker.position.lat, lng: marker.position.lng }}/>

相关内容

  • 没有找到相关文章

最新更新