Можно ли использовать геокодирование в react-yandex-maps?

617
17 января 2018, 18:42

Здравствуйте, у меня возникла трудность с поиском нормальной документации по react-yandex-maps. Я не могу понять как решить следующую задачу с помощью данной библиотеки, а именно, необходимо принимать адрес вида (Санкт-Петербург, ул Чудновского, дом 8, к 2) с redux и по нему выставлять метку на карте. Адреса будут динамически обновляться, хотелось бы также избежать постоянного ререндеринга компонента. Вопрос в следующем: можно ли с помощью данной библиотеки получать геопозицию по адресу или производить выставление метки по адресу приведенного формата и если да, то как? Заранее спасибо за помощь и прошу прощения, если спрашиваю очевидные вещи)

Answer 1

Вы можете получить ссылку на ymaps с помощью onApiAvaliable. Эта возможность недокументированная, но, похоже, это единственный способ.

const App = () => (
  <YMaps onApiAvaliable={(ymaps) => console.log(ymaps)}>
    <Map state={mapState}>
    </Map>
  </YMaps>
);

Достав ymaps вы можете спокойно использовать обычный ymaps.geocode.

class App extends React.Component {
  state = { coordinates: null };
  geocode(ymaps) {
    ymaps.geocode('Мытищи')
      .then(result => this.setState({ coordinates: result.geoObjects.get(0).geometry.getCoordinates() }))
  }
  render() {
    return (
      <YMaps onApiAvaliable={ymaps => this.geocode(ymaps)}>
        <Map state={mapState}>
          { !this.state.coordinates ? null :
            <Placemark geometry={{ coordinates: this.state.coordinates}} />
          }
        </Map>
      </YMaps>
    );
  }
}
READ ALSO
Клик через заданное время

Клик через заданное время

Здравствуйте! Есть такая ссылка:

292
Как лучше хранить сообщения чата?

Как лучше хранить сообщения чата?

Варианты, которые я вижу:

370
Проблема с HTML5 video, клавиша пробел

Проблема с HTML5 video, клавиша пробел

Собственно, я делаю кастомизированный HTML5 плеер под себяУбрал стандартную контроль панель и заменил своей(обрамил CSS`ом, сделал функциональность...

255
Не могу выбрать ближайший элемент и открыть его с помощью клика, в чем причина?

Не могу выбрать ближайший элемент и открыть его с помощью клика, в чем причина?

При клике на ссылку должно появляться ближайшее спрятанное окно

296