🐷
FlutterMap のアニメーション遷移がとんでもない量のAPIリクエストを送っててシステムが止まった
Flutter でマップを使用する場合だいたいの方は
・GoogleMap
・AppleMap
だと思います。
ただ、これらのマップではマーカーが好きに弄れないので
自分は FlutterMap を使用しました。
FlutterMap のデフォルト関数の地点移動では
地点間の移動をアニメーションするのではなく
全くアニメーション感の無いジャンプみたいな移動なんですよね。
ちょっと味気ねぇなと思っていたので
色々と探してたらとあるパッケージを見つけました。
それがこちら
このライブラリでは、地点間の移動をアニメーションしてくれるので
結構重宝してる人も多いと思います。
ただ、こいつが原因でマップが止まりました。笑
原因
原因はアニメーション移動するときに
地点間のマップを全て描画しているっぽいって事です。
つまり、わざわざマップを作成するAPIリクエストを走らせてるって事ですね。
ズームレベルにもよるんでしょうが
サンフランシスコから渋谷までの地点移動で1000回以上もAPIリクエストが走ってました。笑
やばすぎぃ笑
自分はこれでたった1時間くらいで
15k、つまり1.5万回のリクエストを送ってGoogle様からAPIを止められました。笑
逆に良かった、多大な損失を出す前で。笑
解決策
ま、使わなければ問題ないんですが
それだと味気ないジャンプ移動になっちゃうので
地点間の距離が3km未満ならアニメーション遷移して
それ以上だとジャンプ移動みたいにしました。
そもそも長距離でのアニメーションは綺麗ではなかったので
むしろ良かったなと思ってる次第ですmm
Discussion