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