Xamarin.Forms.GoogleMapsのバインディング対応ライブラリを更新しました。
更新内容はひとまず以下の通り。
- UpdateRegionBehaviorの追加
- UpdateCameraPositionBehaviorの追加
- MoveToRegionBehaviorでanimatedを指定できるように変更
近いうちに、もう少し本体へ追従するよう修正します。
UpdateRegionBehaviorの追加
こんな感じで、地図の表示場所をバインドで更新できるようにしました。
<googleMapsMap xName="MyMap" HorizontalOptions="Fill" VerticalOptions="FillAndExpand" MyLocationEnabled="True">
<googleMapsMapBehaviors>
<bindingsUpdateRegionBehavior Region="{Binding Region}" Animated="{Binding Animated}"/>
</googleMapsMapBehaviors>
</googleMapsMap>
UpdateCameraPositionBehaviorの追加
同様にカメラアングルもバインドで変更できるようにしました。
<googleMapsMap xName="MyMap" HorizontalOptions="Fill" VerticalOptions="FillAndExpand" MyLocationEnabled="True">
<googleMapsMapBehaviors>
<bindingsUpdateCameraPositionBehavior CameraUpdate="{Binding CameraUpdate}" Duration="{Binding Duration}"/>
</googleMapsMapBehaviors>
</googleMapsMap>
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);
});
ドキュメントの正式な更新はまた今度。
以上です。