我有一个创建地图的 react-google-maps 项目:
const MarkerComponent = ({text}) => <div>{text}</div>;
export default class NavMap extends Component {
constructor(props) {
super(props);
this.state = {
markers: []
}
}
static defaultProps = {
center: {lat: -41.25,lng: 173.2},
zoom: 11
}
render() {
return (<div id="nav-map" className='google-map'>
<GoogleMapReact
name={map}
apiKey={'MYAPIKEY'}
defaultCenter={this.props.center}
defaultZoom={this.props.zoom}>
<MarkerComponent lat={-41.25} lng={173.2} text={'Centre'}/>
</GoogleMapReact>
</div>)
}
}
这将在地图中心添加一个文本标记。
但是,我无法从在 React 中创建/加载地图后加载的动态 JSON 提要中添加标记。请注意 JSON 提要可能会更新 - 此时标记将被刷新。
在 React 中,我通常这样调用 JSON 提要:
componentDidMount() {
fetch('/myJSONfeed').then(response => response.json()).then(data => {
this.setState({data});
});
}
我已经在网上很好地查看了解决方案,但无法在创建/加载地图后弄清楚如何添加动态标记。
任何想法或示例代码将不胜感激。