gmaps标记范围问题的onPositionChanged处理程序

时间:2017-12-06 11:49:14

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

我尝试更新react-google-maps包装器的可拖动标记的当前位置,并将这些值传递回父级。
我的问题是,onMarkerPositionChange this中的是FindLocationMarker类或标记本身,具体取决于调用函数的方式。
onPositionChanged={() => this.onMarkerPositionChange()}是我的另一种选择。

我需要两者,位置的标记和道具中的函数类 在提供的示例中,this是标记。 我知道evt未定义。

我如何为函数提供类范围和标记?

class FindLocationMarker extends Component {

  onMarkerPositionChange = (evt) => {
    console.log(evt);
    let lat = this.position.lat();
    let lng = this.position.lng();

    this.props.handleMarkerPositionChange(lat, lng);
  }

  render() {
    return (
      <div>
        <Marker
          position={this.props.position}
          draggable
          onPositionChanged={this.onMarkerPositionChange}
        />
      </div>
      )
  }
}

export default FindLocationMarker;

1 个答案:

答案 0 :(得分:2)

经过长时间的讨论后,我决定使用https://github.com/tomchentw/react-google-maps Marker.jsx组件更新我对未来问题的回答。

如果你想获得标记onPositionChange的位置,你需要:

  1. 将标记存储在您的参考
  2. 收听onPositionChange事件,然后访问参考中标记的位置。
  3. 示例:

    (wdsutil.exe)