volga-volga / react-native-yamap

React Native Yandex Maps | Яндекс Карты | Yandex.MapKit implementation for react native | YandexMaps
152 stars 85 forks source link

Анимированный маркер #226

Open J9s3s opened 1 year ago

J9s3s commented 1 year ago

Здравствуйте. Скажите пожалуйста, есть ли возможность анимировать маркер? Сделать пульсацию, например. Пробовал использовать animtable компонент в children маркера, но анимация не работает.

<Marker  
                            key={index}
                            scale={1}
                            point = {{
                                lat: item.attributes.latitude ,
                                lon: item.attributes.longitude ,
                            }}
                            children ={<MarkerFriend value={item ? item.attributes.urlimg : null}/>}
                        />

Компонент маркера:

const MarkerFriend = (value) => { 
        return (
                <Animatable.Text 
                    animation="pulse" 
                    easing="ease-out" 
                    iterationCount="infinite" 
                    style={{ textAlign: 'center', fontSize: 150 }}>
                    ❤️
                </Animatable.Text>
        )
    };
mishurov commented 1 year ago

Та же х*ня. В теории можно использовать getScreenPoints и рендерить маркеры отдельными компонентами поверх карты и по экранным точкам, и style.transform.translate<X/Y>, но проблема в том, что скорее всего будет лаг при перемещении и масштабировании карты, т.к. надо всё время пересчитывать экранные точки в onCameraPositionChange.