yasudacloudの日記

札幌に住むソフトウェアエンジニア

メモ)flutter_mapでscaleが取得できなくなってた件

flutter_map、バージョン0.14.0では下記でscaleの値が取れていた。


TileLayerOptions
(
tileBuilder: (BuildContext context, Widget tileWidget, Tile tile){
print(tile.level.scale);
return Container();
}
)

しかし最近、Stableバージョンが多く出ていたためアップデートしてみたところscaleメソッドが使えなくなっていた。

結論から言うと、バージョン0.14.0でscale算出してるコードを引っ張ってくれば一応解決しました。

final fromZoom = mapController.zoom;
final scale = customCrs.scale(fromZoom) / customCrs.scale(tile.coords.z);

 

customCrsは自分の場合は下記のように別のとこで宣言。

const customCrs = Epsg3857();

ただ、MapStateのgetZoomScaleを外から呼べれば済むはずなんだけど、その手順にたどり着かず😅

 

まとめ

バージョンアップによってMapOptionsにonPointerUpイベントが増えていて、これが良い感じなので結果オーライという話でした