public override void OnAnimateCameraRequest(CameraUpdateMessage m) { _isCancelAnimate = _isAnimate; CATransaction.Begin(); if (m.Duration.HasValue) { CATransaction.AnimationDuration = m.Duration.Value.TotalSeconds; } CATransaction.CompletionBlock = () => { _isAnimate = false; if (_isCancelAnimate) { m.Callback.OnCanceled(); } else { m.Callback.OnFinished(); } _isCancelAnimate = false; }; _nativeMap.Animate(m.Update.ToIOS()); _isAnimate = true; _raiseWillMoveFromMethod = true; CATransaction.Commit(); }
public override void OnMoveCameraRequest(CameraUpdateMessage m) { _nativeMap.MoveCamera(m.Update.ToIOS()); // TODO WORKARROUND for CameraPositionChanged does not raise when call MoveCamera with CameraUpdate.FitBounds(issue #189) if (m.Update.UpdateType == CameraUpdateType.LatLngBounds) { _raiseCameraPositionChanged?.Invoke(); } m.Callback.OnFinished(); }
public async override void OnAnimateCameraRequest(CameraUpdateMessage m) { bool result = false; switch (m.Update.UpdateType) { case CameraUpdateType.LatLng: result = await _nativeMap.TrySetViewAsync(m.Update.Position.ToGeopoint()); break; case CameraUpdateType.LatLngZoom: result = await _nativeMap.TrySetViewAsync(m.Update.Position.ToGeopoint(), m.Update.Zoom); break; case CameraUpdateType.LatLngBounds: _nativeMap.Heading = 0d; result = await _nativeMap.TrySetViewBoundsAsync( m.Update.Bounds.ToGeoboundingBox(), new Windows.UI.Xaml.Thickness(m.Update.Padding), MapAnimationKind.Bow); break; case CameraUpdateType.CameraPosition: result = await _nativeMap.TrySetViewAsync( m.Update.CameraPosition.Target.ToGeopoint(), m.Update.CameraPosition.Zoom, m.Update.CameraPosition.Bearing, m.Update.CameraPosition.Tilt, MapAnimationKind.Bow); break; default: break; } if (result) { m.Callback.OnFinished(); } else { m.Callback.OnCanceled(); } }
public override void OnAnimateCameraRequest(CameraUpdateMessage m) { var update = m.Update.ToAndroid(ScaledDensity); var callback = new DelegateCancelableCallback( () => m.Callback.OnFinished(), () => m.Callback.OnCanceled()); if (m.Duration.HasValue) { _nativeMap.AnimateCamera(update, (int)m.Duration.Value.TotalMilliseconds, callback); } else { _nativeMap.AnimateCamera(update, callback); } }
public async override void OnMoveCameraRequest(CameraUpdateMessage m) { switch (m.Update.UpdateType) { case CameraUpdateType.LatLng: _nativeMap.Center = m.Update.Position.ToGeopoint(); break; case CameraUpdateType.LatLngZoom: _nativeMap.Center = m.Update.Position.ToGeopoint(); _nativeMap.ZoomLevel = m.Update.Zoom; break; case CameraUpdateType.LatLngBounds: _nativeMap.Heading = 0d; await _nativeMap.TrySetViewBoundsAsync( m.Update.Bounds.ToGeoboundingBox(), new Windows.UI.Xaml.Thickness(m.Update.Padding), MapAnimationKind.None); break; case CameraUpdateType.CameraPosition: await _nativeMap.TrySetViewAsync( m.Update.CameraPosition.Target.ToGeopoint(), m.Update.CameraPosition.Zoom, m.Update.CameraPosition.Bearing, m.Update.CameraPosition.Tilt, MapAnimationKind.None); break; default: break; } m.Callback.OnFinished(); }
void SendAnimateCamera(CameraUpdateMessage message) { OnAnimateCamera?.Invoke(message); }
void SendMoveCamera(CameraUpdateMessage message) { OnMoveCamera?.Invoke(message); }
public override void OnMoveCameraRequest(CameraUpdateMessage m) { MoveCamera(m.Update); m.Callback.OnFinished(); }
public abstract void OnAnimateCameraRequest(CameraUpdateMessage m);
public override void OnMoveCameraRequest(CameraUpdateMessage m) { _nativeMap.MoveCamera(m.Update.ToAndroid(ScaledDensity)); m.Callback.OnFinished(); }