react-native-mapsのanimateToCoordinateがDeprecatedになっていたので、代わりを調査しました。
はじめに
react-nativeで、GoogleMapsやAppleMapを使う際によく使われるreact-native-maps というライブラリがあります。
その中で、カメラを動かすような処理を行う際に利用するメソッドの一つの
animateToCoordinate
が、Deprecatedになっていました。
置き換えるのに、それほど手間はありませんが 記事が少なかったのでこちらにまとめておこうと思います。
結論
公式ドキュメントに、変更方法書いてありました。
animateCamera
に置き換えることができるようです。
https://github.com/react-native-community/react-native-maps/blob/master/docs/mapview.md#methods
期待する引数はそれぞれ、以下の通りです。 関数が期待する引数が違うため、単純に入れ替えるだけではダメでした。
animateToCoordinate(coordinate: LatLng, duration: Number)
animateCamera(camera: Camera, { duration: Number })
のため、Lat/LonをCameraというオブジェクトに変更する必要があります。 公式ドキュメントを読むと、以下にCameraオブジェクトに関しての定義がありました。
type Camera = {
center: {
latitude: number,
longitude: number,
},
}
centerという、キーにLat/Lonそれぞれを定義してあげれば良さそうです。
// Before
animateToCoordinate({
latitude: lat,
longitude: lon,
})
// After
animateCamera(
{
center:
latitude: lat,
longitude: lon,
}
)