如何在React中的地图上放置标记?

时间:2018-06-22 00:08:51

标签: javascript reactjs google-maps google-maps-markers google-maps-react

我试图通过映射数据库中的位置来放置标记。

我认为只需将Marker放在我要映射数据的位置内,然后在Map之间的返回值内调用该变量即可,但这没有用。

我知道它可以正确转换城市,因为在我登录控制台时,坐标会按预期显示。不知道我在做什么错。

有人对这发生的原因有任何见解吗?像这样,我将获取任何可以帮助您的信息。

这是我的代码:

import React, {Component} from "react";
import {Map,Marker, GoogleApiWrapper} from "google-maps-react";
import Navbar from "./Navbar";
import {connect} from "react-redux";
import {getVacations} from "./redux";
import Geocode from "react-geocode";

class GoogleMaps extends Component {
    constructor(){
        super();
    }
       componentDidMount = () => {
           this.props.getVacations();
       }

       render() {

        console.log(this.props);
         const mappedCoordinates = this.props.vacations.map(coordinate => {
             Geocode.fromAddress(coordinate.location).then(
                 response => {
                     const { lat, lng } = response.results[0].geometry.location;
                     console.log(lat, lng);
                     <Marker position={{lat: lat, lng: lng}}/>
                 })
         })
         return (
            <div>
                <Navbar/>
                <Map google={this.props.google} zoom={4}>
                {mappedCoordinates}
             </Map>
            </div>
        )
       }
    }

    const connectVaca = connect(state => ({vacations: state}), {getVacations})(GoogleMaps);


export default GoogleApiWrapper({
    apiKey: "<API KEY GOES HERE>"
})(connectVaca)

0 个答案:

没有答案