问题描述
我的应用程序在React中运行。 我已经安装了带有react-map-gl-geocoder,react-map-gl和mapBox-gl的地图。 我正在使用Geocoder使用地址搜索使用React map GL创建一个地图应用程序。 该地图效果很好。 现在,我需要能够读取用户在子组件Map的输入地址中键入的内容,以便可以在我为其创建的空间(this.state.answerOptionsInputs)中更新主组件App中的状态。问题1)。
enter image description here 我已经尝试过在MapGL组件和Geocoder组件的onChange事件上传递一个函数,但是它不起作用。
Map.js
<MapGL
ref={mapRef}
{...viewport}
mapStyle="mapBox://styles/mapBox/streets-v9"
width="100%"
height="100%"
onChange={ onSearchLocation }
onViewportChange={handleViewportChange}
mapBoxApiAccesstoken={MAPBox_TOKEN}>
<Geocoder
mapRef={mapRef}
containerRef={geocoderContainerRef}
onViewportChange={handleGeocoderViewportChange}
mapBoxApiAccesstoken={MAPBox_TOKEN}
position="top-left"
onChange={ onSearchLocation }
/>
</MapGL>
App.js
handlerLocation(e) {
const { value } = e.target;
this.setState (prevstate => {
return {
answerOptionsInputs: {
...prevstate.answerOptionsInputs,Question1: value
}
}
}) }
<Map onSearchLocation = { this.handlerLocation }/>
非常感谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)