Closed tsepen closed 5 years ago
@tsepen Данный пример не совместим с последней версией пакета. Он написан под предыдущую версию. Для текущей версии:
Перед открытием issue, настоятельно рекомендую читать документацию, в особенности это
Спасибо!
Подниму ветку, пример в песочнице не работает, но это, я думаю связано с безопасностью соединения... У меня вот такой код не работает:
import React from 'react'
import './Map.css'
import { Map, YMaps } from 'react-yandex-maps'
export default function(props) {
const onLoadMap = (inst) => {
var location = window.ymaps.geolocation.get(
{ mapStateAutoApply: true },
)
console.log('ymaps ', window.ymaps)
// Асинхронная обработка ответа.
location.then(
function(result) {
// Добавление местоположения на карту.
console.log('location ', result)
result.geoObjects.options.set('preset', 'islands#redCircleIcon');
result.geoObjects.get(0).properties.set({
balloonContentBody: 'Мое местоположение'
});
inst.geoObjects.add(result.geoObjects); },
function(err) {
console.log('Ошибка: ' + err)
},
)
}
const [zoom, setZoom] = React.useState(15)
// const setZoom = zoom=>zoom
const [center, setCenter] = React.useState(
[66.08, 76.6931577],
)
const mapState = React.useMemo(() => ({ center, zoom }),
[center, zoom,
])
return (
<YMaps query={{
apikey: 'my_api',
}}>
<div>
<Map onLoad={(inst) => onLoadMap(inst)}
className='map-container'
state={mapState}
>
</Map>
</div>
</YMaps>
)
}
@RokeAlvo я не вижу у вас подключения модулей в коде. Думаю, что проблема в этом:
<Map
modules={["geolocation", "geocode"]}
onLoad={(inst) => onLoadMap(inst)}
className='map-container'
state={mapState}
>
const getGeoLocation = ymaps => {
return ymaps.geolocation
.get({ provider: "yandex", mapStateAutoApply: true })
.then(result =>
ymaps.geocode(result.geoObjects.position).then(res => {
res.geoObjects.get(0).geometry.getCoordinates();
})
);
};
Как получить город пользователя? Данный пример не работает. Спасибо