void Map_CameraMoving(object sender, CameraMovingEventArgs e) { bool updateA = false, updateB = false; var zoom = e.Position.Zoom; if (e.Position.Zoom < 17.5) { zoom = 17.5; updateA = true; } var position = e.Position.Target; if (Distance(new Position(43.226743, -79.895084), e.Position.Target) > 0.15) { position = new Position(43.226743, -79.895084); updateB = true; } if (updateA) { Map.MoveCamera(CameraUpdateFactory.NewCameraPosition(new CameraPosition(Map.CameraPosition.Target, zoom, e.Position.Bearing, e.Position.Tilt))); } if (updateB) { Map.AnimateCamera(CameraUpdateFactory.NewCameraPosition(new CameraPosition(position, Map.CameraPosition.Zoom, e.Position.Bearing, e.Position.Tilt)), TimeSpan.FromMilliseconds(250)); } }
private void OnCameraMoving(object sender, CameraMovingEventArgs cameraMovingEventArgs) { Command?.Execute(cameraMovingEventArgs); }