Задать вопрос

Использую библиотеку react-google-maps. Как можно получить координаты центра карты?

Использую библиотеку react-google-maps. На зарубежных ресурсах информации мало. Читал, что координаты можно получить через getCenter(), но у меня не получается. Как реализовать в компонент кнопку, которая отправит координаты центра в родительскую функцию и как эти координаты центра получить? Может, знает кто? Спасибо!

Вот код компонента
const Map = compose(
    withProps({
        googleMapURL: "https://maps.googleapis.com/maps/api/js?key=AIzaSyB8ECfIjkNyE2AVBlG4Fpd4rD2Y4q5Ytpk",
        loadingElement: <div style={{ height: `100%` }} />,
        containerElement: <div style={{ height: `400px`, }} />,
        mapElement: <div style={{ height: `100%` }} />,
    }),
    lifecycle({
        componentDidMount() {
            const refs = {}

            this.setState({
                onMapMounted: ref => {
                    refs.map = ref;
                    console.log(refs.map.getCenter())
                },
            })
        },
    }),
    withScriptjs,
    withGoogleMap
)((props) =>
    <GoogleMap markers={markers}
        ref={props.onMapMounted}
        defaultZoom={8}
        defaultCenter={{ lat: -34.397, lng: 150.644 }}
    >
        {markers.map( function (obj, index) {
            return (
                <div key={index}>
                    <Marker title="Hello World!" position={{ lat: obj.position.lat, lng: obj.position.lng }} onClick={props.onToggleOpen}>
                        {props.isOpen &&
                            <InfoWindow onCloseClick={props.onToggleOpen}>
                                 <div>
                                     {obj.title}
                                </div>
                            </InfoWindow>
                        }
                    </Marker>
                </div>
            );
        })
        }
        <Polygon path={path} />
    </GoogleMap>
)
  • Вопрос задан
  • 407 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы