我使用google-map-react显示带有自定义标记的谷歌地图以显示位置。
我能否成功更改位置,其平均值,将 lat 和 lng 传递给地图组件并将标记放在新位置,但地图视图仍位于旧位置。
我如何才能以新位置为中心?
主要部件
Lat 和 Lng 以坐标开始,而 setState 则放置一个新的
不要放置整个组件,但这是我调用地图的方式
return (
<div className="main">
<div className="main__map">
<TheMap center={[this.state.lat, this.state.lng]} />
</div>
</div>
)
地图组件
import React,{useState , useEffect} from 'react';
import GoogleMapReact from 'google-map-react';
function TheMap(props){
const [cordinates , setCordinates] = useState(props);
const MyCustomMarker = () => <span class="material-icons">place</span>;
useEffect(() => {
setCordinates(props);
}, [props])
return(
<GoogleMapReact
yesIWantToUseGoogleMapApiInternals={true}
bootstrapURLKeys={{key:'THE KEY'}}
defaultZoom={16}
center={cordinates.center}
>
<MyCustomMarker
lat={cordinates.center[0]}
lng={cordinates.center[1]}
/>
</GoogleMapReact>
)
}
export default TheMap