如果我使用标记标记,那么我的组件就不能工作,它会抛出一个错误,如下所示

我的代码是:
import React, { Component } from 'react';
import GoogleMap, { Marker } from 'google-map-react';
class Maps extends Component {
static defaultProps = {
center: {lat: 22.741033, lng: 81.102441},
zoom: 5
};
render() {
return (
<GoogleMap
bootstrapURLKeys={{ key: ['AIzaSyAA1WZznnpeoP6hZz26UiARGNOhZhYLZek'] }}
defaultCenter={this.props.center}
defaultZoom={this.props.zoom}
style={{height: '300px'}}
>
<Marker
position={this.props.center}
/>
</GoogleMap>
);
}
}
export default Maps;发布于 2018-04-04 17:34:21
这似乎是导出组件的问题。我认为在默认情况下,GoogleMap不是在react-google-maps中导出的。尝试将其作为组件导入。
import { GoogleMap, Marker } from "react-google-maps";
另外,您可能需要看看来自react google地图的react google地图组件。
添加下面的示例代码
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { withGoogleMap, GoogleMap, Marker } from "react-google-maps";
const MapWithAMarker = withGoogleMap(props => {
return (
<GoogleMap defaultZoom={12} defaultCenter={{ lat: props.marker.lat, lng: props.marker.lng }}>
{props.marker &&
<Marker label={props.marker.name} position={{ lat: props.marker.lat, lng: props.marker.lng }} />
}
</GoogleMap>
);
});
export default class Map extends Component {
render() {
const { marker } = this.props;
return (
<MapWithAMarker marker={marker} containerElement={<div className="mapContainer full-flex" />} mapElement={<div className="map" />} />
);
}
}
Map.propTypes = {
marker: PropTypes.object
};https://stackoverflow.com/questions/49656942
复制相似问题