Xamarin.Forms.GoogleMapsのバインディング対応ライブラリを更新しました。
更新内容はひとまず以下の通り。
- UpdateRegionBehaviorの追加
- UpdateCameraPositionBehaviorの追加
- MoveToRegionBehaviorでanimatedを指定できるように変更
近いうちに、もう少し本体へ追従するよう修正します。
UpdateRegionBehaviorの追加
こんな感じで、地図の表示場所をバインドで更新できるようにしました。
<googleMaps:Map x:Name="MyMap" HorizontalOptions="Fill" VerticalOptions="FillAndExpand" MyLocationEnabled="True"> <googleMaps:Map.Behaviors> <bindings:UpdateRegionBehavior Region="{Binding Region}" Animated="{Binding Animated}"/> </googleMaps:Map.Behaviors> </googleMaps:Map>
UpdateCameraPositionBehaviorの追加
同様にカメラアングルもバインドで変更できるようにしました。
<googleMaps:Map x:Name="MyMap" HorizontalOptions="Fill" VerticalOptions="FillAndExpand" MyLocationEnabled="True"> <googleMaps:Map.Behaviors> <bindings:UpdateCameraPositionBehavior CameraUpdate="{Binding CameraUpdate}" Duration="{Binding Duration}"/> </googleMaps:Map.Behaviors> </googleMaps:Map>
Durationを指定しない、もしくはnullを指定するとアニメーションなしでカメラアングルが変更されます。
MoveToRegionBehaviorでanimatedを指定できるように変更
完全に認識外で漏れていたので追加しました。こんな感じで利用します。
public MoveToRegionRequest Request { get; } = new MoveToRegionRequest(); public Command MoveToTokyoCommand => new Command(() => { Request.MoveToRegion( MapSpan.FromCenterAndRadius( new Position(35.681298, 139.766247), Distance.FromKilometers(2)), Animated); });
ドキュメントの正式な更新はまた今度。
以上です。