【发布时间】:2021-07-19 08:45:38
【问题描述】:
我正在使用本地存储来存储 lat/lng,它是来自另一个组件的产品的一部分。我得到项目 lat/lng 并将它们设置为状态,以在地图中使用。当我逐步浏览所有内容时,它是正确的 lat:32.735962/lng:-96.275256 位于德克萨斯州达拉斯郊外的位置,但是当地图渲染时,它位于几内亚湾的中心。如果我对相同的 lat/lng 进行硬编码,它会呈现正确的位置。
import { Map, GoogleApiWrapper, Marker } from 'google-maps-react';
import '../css/googleMaps.css';
export class Maps extends React.Component {
constructor(props){
super(props);
this.state = {
lat: '',
lng: ''
};
}
componentDidMount(){
const lat = localStorage.getItem('lat')
const lng = localStorage.getItem('lng')
this.setState({
lat: lat,
lng: lng
})
}
logOut = () => {
localStorage.removeItem('token');
window.location = '/';
};
back = () => {
localStorage.removeItem('lat')
localStorage.removeItem('lng')
window.location = '/patronmain';
};
render() {
const mapStyles = {
width: "60%",
height: "60%",
};
return (
<div>
<p className="lOut" onClick={() => this.logOut()}>Logout</p>
<p className="lOut" onClick={() => this.back()}>Back</p>
<Map
google={this.props.google}
zoom={5}
style={mapStyles}
initialCenter={{lat: this.state.lat, lng: this.state.lng}}
>
<Marker
label='Made Here'
postion={{ lat: this.state.lat, lng: this.state.lng }}
/>
</Map>
</div>
);
}
}
export default GoogleApiWrapper({
apiKey: ''
})(Maps);
【问题讨论】:
标签: javascript reactjs google-maps local-storage