Карта Google реагирует, из onGoogleApiLoaded не вызывается apiIsLoaded - PullRequest
0 голосов
/ 20 января 2020

Функция apiIsLoaded не вызывается, и карта не может быть инициализирована. Что не так? При проверке я вижу div без graf-карты iframe, просто пустое место. Мне нужно вызвать apiIsLoaded, но я не могу найти способ сделать это. Вот код, любая помощь будет оценена.

import React from 'react';
import GoogleMapReact from "google-map-react";

const LocationMap = (props) => {
    const apiIsLoaded = (map, maps) => {
        if (map) {
            map.setOptions({ gestureHandling: 'greedy', mapTypeControl: false, minZoom: 2});
        }
    };
    const { address } = props;
    const center = address ? { lat: address.lat, lng: address.lon } : { lat: 0, lng: 0 };
    return (
        <div className="google-maps-wrapper">
            <GoogleMapReact
                bootstrapURLKeys={{
                    key: process.env.REACT_APP_MAP_KEY
                }}
                defaultZoom={address ? 8 : 2}
                center={[center.lat, center.lng]}
                defaultCenter={[0, 0]}
                yesIWantToUseGoogleMapApiInternals={true}
                onGoogleApiLoaded={({ map, maps }) => apiIsLoaded(map, maps)}>
            </GoogleMapReact>
        </div>
    );
};

export default LocationMap;

1 Ответ

0 голосов
/ 20 января 2020

проверьте, что ваш метод вызывается из GoogleMapReact или нет

const apiIsLoaded = (map, maps) => {
      console.log('apiIsLoaded')
        if (map) {
            map.setOptions({ gestureHandling: 'greedy', mapTypeControl: false, minZoom: 2});
        }
    };

Во-вторых, вам не нужно передавать yes на

yesIWantToUseGoogleMapApiInternals={true} 

, измените его на

 yesIWantToUseGoogleMapApiInternals
...