Closed NikNik516-1 closed 3 years ago
Пробую открыть карту в приложении. В версии 1.1.0-beta приложение крашится при нажатии на "up" только в Андроиде только если снять комментарий со строки: setLat(lat + 0.001);
В 1.0.20 все Ок, но работает медленнее что ли:
`function App(props) { YaMap.init(MAP_KEY); //YaMap.setLocale('ru_RU'); // 'ru_RU'... Geocoder.init(GEOCODER_KEY);
const [lat, setLat] = useState(55.88855); const [lon, setlon] = useState(37.6475); const [zoom, setZoom] = useState(14);
map = React.createRef();
handleUp = () => { console.log('lat:', lat, 'lon:', lon, 'zoom:', zoom); setLat(lat + 0.001); };
useEffect( () => this.map.current.setCenter( {lon: lon, lat: lat}, zoom, 0, 0, 1, Animation.SMOOTH, ), [lat, lon, zoom], );
return ( <> <View style={styles.container}> <YaMap ref={this.map} style={styles.map} userLocationIcon={USER} showUserPosition> </YaMap> </View> <View> <TouchableOpacity onPress={handleUp}> <Text>Up</Text> </TouchableOpacity> </View> </> ); }
<View style={styles.container}>
<YaMap ref={this.map} style={styles.map} userLocationIcon={USER} showUserPosition>
</YaMap>
</View>
<View>
<TouchableOpacity onPress={handleUp}>
<Text>Up</Text>
</TouchableOpacity>
const styles = StyleSheet.create({ container: { marginTop: 60, flex: 1, height: '50%', }, map: { height: 300, width: '100%', }, }); export default App;'
Сомневаюсь, что инициализировать карту в теле функции App является хорошей практикой.
Спасибо, накосячил. :(
Пробую открыть карту в приложении. В версии 1.1.0-beta приложение крашится при нажатии на "up" только в Андроиде только если снять комментарий со строки: setLat(lat + 0.001);
В 1.0.20 все Ок, но работает медленнее что ли:
`function App(props) { YaMap.init(MAP_KEY); //YaMap.setLocale('ru_RU'); // 'ru_RU'... Geocoder.init(GEOCODER_KEY);
const [lat, setLat] = useState(55.88855); const [lon, setlon] = useState(37.6475); const [zoom, setZoom] = useState(14);
map = React.createRef();
handleUp = () => { console.log('lat:', lat, 'lon:', lon, 'zoom:', zoom); setLat(lat + 0.001); };
useEffect( () => this.map.current.setCenter( {lon: lon, lat: lat}, zoom, 0, 0, 1, Animation.SMOOTH, ), [lat, lon, zoom], );
return ( <>
<View style={styles.container}>
<YaMap ref={this.map} style={styles.map} userLocationIcon={USER} showUserPosition>
</YaMap>
</View>
<View>
<TouchableOpacity onPress={handleUp}>
<Text>Up</Text>
</TouchableOpacity>
</View>
</> ); }const styles = StyleSheet.create({ container: { marginTop: 60, flex: 1, height: '50%', }, map: { height: 300, width: '100%', }, }); export default App;'