reactjs - react 谷歌地图 : Can't get bounds

标签 reactjs google-maps google-maps-api-3 react-google-maps

我有以下 React 组件,它从“react-google-maps”库加载 GoogleMap。我正在遵循文档示例,但我从 getBounds() 函数中得到了未定义。我认为这是由于试图在 map 完全加载之前获取边界但找不到解决方案。

@inject("map") @observer
export default class Map extends Component {

    constructor(props) {
        super(props);
    }

    render() {
        const mapStore = this.props.map
        const GettingStartedGoogleMap = withGoogleMap(props => (
            <GoogleMap
                ref={props.onMapLoad}
                style={{
                    height: 100,
                    width: 100,
                }}
                defaultOptions={{ styles: this.mapStyles }}
                defaultZoom={mapStore.zoom}
                defaultCenter={{ lat: mapStore.center.lat, lng: mapStore.center.lng }}>
                {
                    mapStore.markers.map(({ lat, lng }) => {
                        return <Marker
                            position={{ lat, lng }}
                            icon={{
                                url: require('../../images/marker.png')
                            }}
                        />
                    })
                }
            </GoogleMap>
        ))

        return (
            <GettingStartedGoogleMap
                style={{
                    height: 100,
                    width: 100,
                }}
                onMapLoad={(googleMap) => {
                    console.log(googleMap.getBounds())
                }}
                containerElement={
                    <div style={{ height: 'calc(100vh - 70px)' }
                    } />
                }
                mapElement={
                    <div style={{ height: 'calc(100vh - 70px)' }} />
                } />
        )
    }
}

提前致谢

最佳答案

您可以使用“onIdle”来确保 map 已完全准备就绪

<GoogleMap ref={props.onMapLoad} ... onIdle={props.onMapIdle} > ... </GoogleMap>

<GettingStartedGoogleMap onMapIdle={ ()=> { console.log('map is ready') } } ... />

关于reactjs - react 谷歌地图 : Can't get bounds,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43707612/

相关文章:

javascript - Google map API 未显示所有标记

google-maps - 谷歌地图上的样式标记现在全部更改为自 2012 年 11 月 21 日以来添加的最后一个标记的样式

reactjs - CSS 模块在另一个模块内时的悬停样式

javascript - React js,如何在输入更改时更新状态对象值?

javascript - 如何使用 Bootstrap 在 React.js 中显示图像

reactjs - '--watchAll=false' 和 'CI=true' 有什么区别?

android - 如何缩放相机以覆盖android googlemap中的路径?

linux - 缓存的 Google map 最初在浏览器中显示很小

javascript - KML 图层无法正确切换,Google map

android - java.lang.NoClassDefFoundError : com. google.android.gms.R$styleable(已添加项目!!)