1

При окончании действия с картой вывожу в консоль координаты текущего центра карты, а как мне эти координаты записать в this.state ?

import React from "react";
import { render } from "react-dom";
import { YMaps, Map, GeoObject } from "react-yandex-maps";

class MapBasics extends React.Component{
  state = {
    centerMap:[],
  }
  onMapLoad(map) {
    map.events.add('actionend', function () {
      console.log(map.getCenter())
    })
  }

  render() {
    const mapState = { center: [55.72, 37.44], zoom: 10 };

    return (
      <div>
        <YMaps>
          <Map
            state={mapState}
            instanceRef={this.onMapLoad.bind(this)}/>

        </YMaps>
      </div>
   );
  }
}

https://codesandbox.io/s/mmmywmy679

  • У вас есть *две* функции обратного вызова. При этом в первой вы используете bind(this), а вторую передаете так. Где логика? – Pavel Mayorov Feb 05 '18 at 08:51
  • А можно глупый вопрос, как мне это исправить в данном случае ? – Penkov Alexander Feb 05 '18 at 09:07
  • Так же как вы уже сделали. Вам нужен второй bind(this) или стрелочная функция. – Pavel Mayorov Feb 05 '18 at 09:11
  • Я вообщем разобрался, спасибо, только теперь карта падает каждый раз с новой ошибкой – Penkov Alexander Feb 05 '18 at 09:37

0 Answers0