はじめに
flutter_mapbox_glを使っているんですが、MapboxMapクラスのコンストラクタの引数が結構あるので、ちょっとメモがてらまとめようかともいます。
公式のMapboxMap constructor のドキュメント読めという話もありますが、ドキュメントだけだとわからないこともあるので。
現状、使ったことのあるパラメタについて記載しています。
しかし、こう並べてみると、試してないパラメタ多いな。
試したら更新していこうかと思います。
バージョン
flutter 2.10
flutter_mapbox_glは0.16.0
2022/08/03現在、0.16.0はflutter 3で動かすと、描画がおかしくなる問題がある。
そのため、flutterは2.x系を利用するのが良いみたい。
このパラメタこんな動きするよ、とかあればコメントお願いします。
パラメタ
key
Key? key
CameraPosition
required CameraPosition initialCameraPosition
初期表示の緯度経度、表示の倍率などを指定できる。
accessToken
String? accessToken
アクセストークンを指定できる。
onMapCreated
MapCreatedCallback? onMapCreated
マップが生成されたときに呼び出されるコールバック
onStyleLoadedCallback
OnStyleLoadedCallback? onStyleLoadedCallback
gestureRecognizers
Set<Factory<OneSequenceGestureRecognizer>>? gestureRecognizers
compassEnabled
bool compassEnabled = true
地図が回転したときにコンパスを表示するかどうかを指定。
Androidではバグなのか表示されない。
iOSは環境がないので未確認だが、問題なく表示されるらしい。
githubのissuesに投稿されている(そしまだ解決していない)
Compass cannot be displayed
cameraTargetBounds
CameraTargetBounds cameraTargetBounds = CameraTargetBounds.unbounded
styleString
String? styleString
地図のスタイルの指定。
デフォルトのスタイルを使用する場合は省略する。
Mapbox Studioで生成したスタイルを使用する場合に指定する。
minMaxZoomPreference
MinMaxZoomPreference minMaxZoomPreference = MinMaxZoomPreference.unbounded
ズームの最小と最大値の設定
rotateGesturesEnabled
bool rotateGesturesEnabled = true
地図の回転をさせる操作を有効にするかどうかの指定。
scrollGesturesEnabled
bool scrollGesturesEnabled = true
地図をスクロールさせる操作を有効にするかどうかの指定。
zoomGesturesEnabled
bool zoomGesturesEnabled = true
地図を拡大・縮小させる操作を有効にするかどうかの指定。
tiltGesturesEnabled
bool tiltGesturesEnabled = true
傾きに反応するかどうかを指定。
(マップの回転は反応するので何に影響するのだろうか?)
doubleClickZoomEnabled
bool? doubleClickZoomEnabled
ダブルクリックのズームの有効無効。
Webのみらしい。
dragEnabled
bool dragEnabled = true
ドラッグの有効無効を設定。
Androidでパフォーマンスに影響があるようなことが書いてあったがよくわからず・・・
trackCameraPosition
bool trackCameraPosition = false
マップカメラの移動の通知を行うかどうか。
ChangeNotifierを使うらしい(がまだ私にそこまでの知識がない)
myLocationEnabled
bool myLocationEnabled = false
現在位置の表示を行うかどうかを設定
myLocationTrackingMode
MyLocationTrackingMode myLocationTrackingMode = MyLocationTrackingMode.None
現在位置のトラッキングモード。
MyLocationTrackingMode列挙型の以下の値を指定できる
- MyLocationTrackingMode.None
- 指定なし
- MyLocationTrackingMode.Tracking
- MyLocationTrackingMode.TrackingCompass
- コンパスを使ったトラッキング。おそらく端末のセンサーを使っていると思われる。
None→TrackingCompass に切り替えると、現在位置に移動して、マップが向いている方向に回転する。
地図を動かしてしまうと、動作がキャンセルされる。
現在位置に追随してかつ、地図を向いている方角に回転させるような動作をさせたい場合はこの値を設定するだけではできない。
- コンパスを使ったトラッキング。おそらく端末のセンサーを使っていると思われる。
- MyLocationTrackingMode.TrackingGPS
- GPSを使ったトラッキング
None→TrackingGPS に切り替えると、現在位置に移動して、マップが向いている方向に回転する。
地図を動かしてしまうと、動作がキャンセルされる。
現在位置に追随してかつ、地図を向いている方角に回転させるような動作をさせたい場合はこの値を設定するだけではできない。
- GPSを使ったトラッキング
- MyLocationTrackingMode.TrackingGPSNorth
- MyLocationTrackingMode.NoneCompass
- MyLocationTrackingMode.NoneGPS
myLocationRenderMode
MyLocationRenderMode myLocationRenderMode = MyLocationRenderMode.COMPASS
現在位置のアイコンの指定
MyLocationRenderMode列挙型の以下の値を指定する
- MyLocationRenderMode.NORMAL
- MyLocationRenderMode.COMPASS
- MyLocationRenderMode.GPS
logoViewMargins
Point<num>? logoViewMargins
おそらくMapboxのロゴのマージン
compassViewPosition
CompassViewPosition? compassViewPosition
コンパスの表示位置を指定する。
compassViewMargins
Point<num>? compassViewMargins
コンパスのマージンを指定する
attributionButtonPosition
AttributionButtonPosition? attributionButtonPosition
attributionButtonMargins
Point<num>? attributionButtonMargins
onMapClick
OnMapClickCallback? onMapClick
マップをタップした際に呼び出されるコールバック。
onUserLocationUpdated
OnUserLocationUpdated? onUserLocationUpdated
onMapLongClick
OnMapClickCallback? onMapLongClick
マップをロングタップした際に呼び出されるコールバックを指定。
Webだとダブルクリックで反応した。
onAttributionClick
OnAttributionClickCallback? onAttributionClick
onCameraTrackingDismissed
OnCameraTrackingDismissedCallback? onCameraTrackingDismissed
onCameraTrackingChanged
OnCameraTrackingChangedCallback? onCameraTrackingChanged
onCameraIdle
OnCameraIdleCallback? onCameraIdle
onMapIdle
OnMapIdleCallback? onMapIdle
annotationOrder
List<AnnotationType> annotationOrder = const [AnnotationType.line, AnnotationType.symbol, AnnotationType.circle, AnnotationType.fill]
annotationConsumeTapEvents
List<AnnotationType> annotationConsumeTapEvents = const [AnnotationType.symbol, AnnotationType.fill, AnnotationType.line, AnnotationType.circle]